快速排序算法

Posted pythen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速排序算法相关的知识,希望对你有一定的参考价值。

快速排序算法:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int N=1e6+10;
 4 int n;
 5 int p[N];
 6 void quick_sort(int q[],int l,int r){
 7     if(l>=r) return;
 8     int x=q[l+r>>1],i=l-1,j=r+1;
 9     while(i<j)
10     {
11         do i++;while (q[i]<x);
12         do j--;while (q[j]>x);
13         if(i<j) swap(q[i],q[j]);
14     }
15     quick_sort(q,l,j);
16     quick_sort(q,j+1,r);
17 }
18 int main(){
19     cin>>n;
20     for(int i=0;i<n;i++)
21         scanf("%d",&p[i]);
22     quick_sort(p,0,n-1);
23     for(int i=0;i<n;i++)
24         printf("%d ",p[i]);
25     return 0;
26 } 

 

以上是关于快速排序算法的主要内容,如果未能解决你的问题,请参考以下文章

一行Python代码搞定快速排序算法

排序算法 | 快速排序(含C++/Python代码实现)

交换排序(冒泡排序快速排序的算法思想及代码实现)

快速排序/快速选择算法

快速排序算法详解及代码实现

排序算法——快速排序的图解代码实现以及时间复杂度分析