21xrx.com
2024-11-25 00:20:56 Monday
登录
文章检索 我的文章 写文章
C++类数组排序的方法
2023-07-14 10:35:14 深夜i     --     --
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++中的类数组排序方法包括冒泡排序、选择排序、插入排序和快速排序。不同的排序方法适用于不同的场合,具体应该根据实际情况选择。在实际编程中,我们应该灵活运用这些排序方法,以便更好地解决问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复