快速排序

快速排序参考:

https://blog.csdn.net/qq_28584889/article/details/88136498

快速排序模板:

 

 1 //快速排序
 2 #include<iostream>
 3 #include<cstdio>
 4 using namespace std;
 5 void quicksort(int a[101],int l,int r)
 6 {
 7     int i=l,j=r;
 8     int mid=a[(l+r)/2];
 9     if(l>=r) return;
10     //超出范围 就结束程序 
11     while(i<j)
12     {
13         while(a[j]>mid) j--;
14         //从右边开始 不符合继续向左找
15         while(a[i]<mid) i++;
16         //再从左边开始 不符合继续向右
17         if(i<=j) swap(a[i],a[j]);  
18     }
19     quicksort(a,l,j-1);
20     quicksort(a,i+1,r);
21     //递归的范围 
22 }
23 int main()
24 {
25     int n,a[101];
26     cin>>n;
27     for(int i=1;i<=n;i++)
28         cin>>a[i];
29     quicksort(a,1,n);//调用 
30     for(int i=1;i<=n;i++)
31      cout<<a[i]<<" ";
32     return 0; 
33 } 

 

posted @ 2022-09-16 16:54  4lovls  阅读(22)  评论(0)    收藏  举报