21xrx.com
2024-05-20 15:46:54 Monday
登录
文章检索 我的文章 写文章
C++快速排序代码实现
2023-07-07 21:39:27 深夜i     --     --
C++ 快速排序 代码 实现

C++快速排序是一种常用的排序算法,它基于分治思想,通过递归将数据分为更小的子集,并依次排序这些子集,最终得到整个序列有序的结果。下面将介绍C++快速排序的代码实现。

代码步骤:

1. 设定基准值pivot,选择序列中间位置的数值。

2. 定义左右两个指针l和r,分别指向数组的首尾两个元素。

3. 从左向右找到第一个大于等于基准值的数,并标记为l。

4. 从右向左找到第一个小于等于基准值的数,并标记为r。

5. 如果l

6. 继续执行3-5步,直到l=r。

7. 将基准值与l所指向的元素进行交换。

8. 对左半部分数组进行递归调用快速排序。

9. 对右半部分数组进行递归调用快速排序。

代码实现:


void quickSort(int arr[], int left, int right){

  int l = left;

  int r = right;

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

  while(l <= r){

    while(arr[l] < pivot){

      l ++;

    }

    while(arr[r] > pivot)

      r --;

    

    if(l <= r){

      swap(arr[l], arr[r]);

      l ++;

      r --;

    }

  }

  if(left < r){

    quickSort(arr, left, r);

  }

  if(l < right){

    quickSort(arr, l, right);

  }

}

该快速排序算法的时间复杂度为O(nlogn),是一种高效的排序算法。通过以上实现,我们可以使用C++语言快速排序任意数组,实现对数据的有效排序,为我们的编程带来方便与效率。

  
  

评论区

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