快排

Posted shulin~

tags:

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

技术分享
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 int n;
 5 const int maxn=1e5+2;
 6 int s[maxn];
 7 
 8 void quick_sort(int l,int r)
 9 {
10     if(l>=r) return;
11     int x=s[l];
12     int i=l,j=r;
13     while(i<j)
14     {
15         while(i<j&&s[j]>=x) j--;
16         if(i<j) s[i++]=s[j];
17         while(i<j&&s[i]<x) i++;
18         if(i<j) s[j--]=s[i];
19     }
20     s[i]=x;
21     quick_sort(l,i-1);
22     quick_sort(i+1,r);
23 }
24 int main()
25 {
26     while(~scanf("%d",&n))
27     {
28         for(int i=1;i<=n;i++)
29         {
30             scanf("%d",&s[i]);
31         }
32         quick_sort(1,n);
33         for(int i=1;i<=n;i++)
34         {
35             printf("%d ",s[i]);    
36         }
37         printf("\n");
38     }
39     return 0;
40 }
View Code

 

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

堆排/快排/希尔/归并排序,谁更快?

Python的快排应有的样子

冒泡,快排代码+注释

8种面试经典!排序详解--选择,插入,希尔,冒泡,堆排,3种快排,快排非递归,归并,归并非递归,计数(图+C语言代码+时间复杂度)

数据结构快排专题

百度+搜狗快排程序核心代码分享