21xrx.com
2024-05-10 03:53:33 Friday
登录
文章检索 我的文章 写文章
C++快速排序代码
2023-07-14 16:00:49 深夜i     --     --
C++ 快速排序 代码

快速排序是一种高效的排序算法,它的时间复杂度为O(nlogn),是许多算法中最优秀的一种。快速排序的核心是分治法和递归思想,它能够快速将一个无序的数组变成一个有序的数组。下面我们来看一下C++实现快速排序的代码。

快速排序的基本思想是,选定一个基准元素,将数组中比基准元素小的放在左边,比基准元素大的放在右边,然后对左右两个子数组再进行同样的操作,直到整个数组有序为止。

代码如下:


void quick_sort(int arr[], int left, int right)

{

  int i = left, j = right;

  int temp;

  int pivot = arr[(left + right) / 2];

  while (i <= j) {

    while (arr[i] < pivot)

      i++;

    while (arr[j] > pivot)

      j--;

    if (i <= j) {

      temp = arr[i];

      arr[i] = arr[j];

      arr[j] = temp;

      i++;

      j--;

    }

  }

  if (left < j)

    quick_sort(arr, left, j);

  if (i < right)

    quick_sort(arr, i, right);

}

这段代码中,首先选取中间的一个元素作为基准元素,然后将数组分为两个部分,分别比基准元素小和大。接着递归地对左右两个子数组进行排序,直到整个数组有序。

总的来说,快速排序可以解决大量数据的排序问题,其时间复杂度为O(nlogn),比其他排序算法都要优秀。在实际工作中,我们可以使用C++语言快速实现快速排序的代码,从而提高数据排序的效率。

  
  

评论区

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