21xrx.com
2025-04-03 15:35:22 Thursday
文章检索 我的文章 写文章
C++类数组排序的方法
2023-07-14 10:35:14 深夜i     17     0
C++ 数组 排序 方法

C++是一种广泛使用的编程语言,具有很强的编程能力和灵活性。在该语言中,数组是一种非常常见的数据结构类型。在实际编程中,我们经常需要对数组进行排序,以便更好地对数据进行分析和处理。下面将介绍C++中类数组排序的方法。

一、冒泡排序法

冒泡排序是一种常用的排序方法,其基本思想是对待排序序列中的相邻两个元素进行比较,并根据大小关系进行交换。这样进行一轮比较后,最小的元素就被移动到了序列的最前面。接着,对剩余的元素进行同样的比较和交换操作,直到整个序列有序为止。C++中的冒泡排序代码如下:

void bubble_sort(int* array, int length)
{
  for(int i = 0; i < length - 1; i++)
  {
    for(int j = 0; j < length - i - 1; j++)
    {
      if(array[j] > array[j + 1])
      {
        int temp = array[j];
        array[j] = array[j + 1];
        array[j + 1] = temp;
      }
    }
  }
}

二、选择排序法

选择排序是一种简单直观的排序方法,其基本思想是在待排序序列中选择最小的元素,将其放在序列的最前面,然后再在剩余的元素中选择最小的元素,依此类推,直到整个序列有序为止。C++中的选择排序代码如下:

void selection_sort(int* array, int length)
{
  for(int i = 0; i < length - 1; i++)
  {
    int min_index = i;
    for(int j = i + 1; j < length; j++)
    {
      if(array[j] < array[min_index])
      
        min_index = j;
      
    }
    if(min_index != i)
    {
      int temp = array[i];
      array[i] = array[min_index];
      array[min_index] = temp;
    }
  }
}

三、插入排序法

插入排序也是一种常用的排序方法,其基本思想是将一个元素插入已排好序的序列中,使得插入后仍然保持有序。C++中的插入排序代码如下:

void insertion_sort(int* array, int length)
{
  for(int i = 1; i < length; i++)
  {
    int j = i;
    while(j > 0 && array[j] < array[j - 1])
    {
      int temp = array[j];
      array[j] = array[j - 1];
      array[j - 1] = temp;
      j--;
    }
  }
}

四、快速排序法

快速排序是一种高效的排序方法,其基本思想是选择一个基准元素,将序列中比基准元素小的元素移动到基准元素的左边,将比基准元素大的元素移动到基准元素的右边,然后递归地对基准元素左右两边的子序列进行同样的操作,直到整个序列有序为止。C++中的快速排序代码如下:

void quick_sort(int* array, int left, int right)
{
  if(left >= right)
  
    return;
  
  int i = left;
  int j = right;
  int pivot = array[left];
  while(i < j)
  {
    while(i < j && array[j] >= pivot)
    
      j--;
    
    if(i < j)
    {
      array[i] = array[j];
      i++;
    }
    while(i < j && array[i] < pivot)
    {
      i++;
    }
    if(i < j)
    {
      array[j] = array[i];
      j--;
    }
  }
  array[i] = pivot;
  quick_sort(array, left, i - 1);
  quick_sort(array, i + 1, right);
}

综上所述,C++中的类数组排序方法包括冒泡排序、选择排序、插入排序和快速排序。不同的排序方法适用于不同的场合,具体应该根据实际情况选择。在实际编程中,我们应该灵活运用这些排序方法,以便更好地解决问题。

  
  

评论区