快速排序
标签:quick 调整 整数 main using 数组 const code ret
具体思路:
每次找一个基准数来调整数组中的元素,调整完之后i和j相遇的地方,左边都是小于等于基准数的,右边都是大于等于基准数的。
然后递归往下进行,直到只有一个元素
1 #include 2 using namespace std;
3 const int MAXSIZE = 100000;
4 int n;
5 int a[MAXSIZE];
6 void quicksort(int left,int right){
7 int i, j, t, tmp;
8 if(left > right){
9 return ;
10 }
11 tmp = a[left];
12 i = left;
13 j = right;
14 while(i != j){
15 while(a[j] >= tmp && i j){
16 j--;
17 }
18 while(a[i] j){
19 i++;
20 }
21 if(i j){
22 swap(a[i], a[j]);
23 }
24 }
25 a[left] = a[i];
26 a[i] = tmp;
27 quicksort(left, i - 1);
28 quicksort(i + 1, right);
29 return ;
30 }
31 int main(){
32
33 int i, j, t;
34 scanf("%d", &n);
35 for(i = 1; i ){
36 scanf("%d", &a[i]);
37 }
38 quicksort(1,n);
39 for(i = 1; i ){
40 printf("%d ",a[i]);
41 }
42 printf("\n");
43 return 0;
44 }
快速排序
标签:quick 调整 整数 main using 数组 const code ret
原文地址:https://www.cnblogs.com/letlifestop/p/11614860.html
文章来自:
搜素材网的
编程语言模块,转载请注明文章出处。
文章标题:
快速排序
文章链接:http://soscw.com/essay/35473.html
评论