快速排序模板

通过关键字,结合分治的思想,运用递归进行排序

当然可以直接用sort

P1177 【模板】快速排序 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

 

 

复制代码
 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 const int maxn=1e5+10;
 5 int a[maxn];
 6 int n;
 7 void qsort(int a[],int l,int r)
 8 {
 9     //根据关键词进行排序 
10     int i=l,j=r,flag=a[(l+r)/2],tmp;
11     while(i<=j)
12     {
13         while(a[i]<flag) i++;
14         while(a[j]>flag) j--;
15         if(i<=j)
16         {
17             tmp=a[i];
18             a[i]=a[j];
19             a[j]=tmp;
20             i++;
21             j--;
22         }
23     }
24     //分治思想,借助递归 
25     if(l<j) qsort(a,l,j);
26     if(r>i) qsort(a,i,r);
27 }
28 int main()
29 {
30     cin>>n;
31     for(int i=0;i<n;i++)
32     {
33         cin>>a[i];
34     }
35     qsort(a,0,n-1);
36     for(int i=0;i<n;i++)
37     {
38         cout<<a[i]<<" ";
39      } 
40      return 0;
41 }
复制代码

 

posted @   格蕾  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示