1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 const int N=1e6+10; 5 int n; 6 int q[N]; 7 void quick_sort(int q[],int l,int r){ 8 if(l>=r){ 9 return ; 10 } 11 int x=q[l+r>>1],i=l-1,j=r+1; 12 while(i<j){ 13 do i++; while(q[i]<x); 14 do j--; while(q[j]>x); 15 if(i<j){ 16 swap(q[i],q[j]); 17 } 18 } 19 quick_sort(q,l,j); 20 quick_sort(q,j+1,r); 21 } 22 int main(void){ 23 scanf("%d",&n); 24 for(int i=0;i<n;i++){ 25 scanf("%d",&q[i]); 26 } 27 quick_sort(q,0,n-1); 28 for(int i=0;i<n;i++){ 29 printf("%d ",q[i]); 30 } 31 return 0; 32 }
#include<iostream> #include<cstdio> using namespace std; const int N=1e6+10; int n; int q[N]; int tmp[N]; void merge_sort(int q[],int l,int r){ if(l>=r){ return ; } int mid = l+r>>1; merge_sort(q,l,mid); merge_sort(q,mid+1,r); int k=0; int i=l,j=mid+1; while(i<=mid&&j<=r){ if(q[i]<q[j]) tmp[k++]=q[i++]; else tmp[k++]=q[j++]; } while(i<=mid) tmp[k++]=q[i++]; while(j<=r) tmp[k++]=q[j++]; for(i=l,j=0;i<=r;i++,j++) q[i]=tmp[j]; } int main (void){ scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&q[i]); } merge_sort(q,0,n-1); for(int i=0;i<n;i++){ printf("%d ",q[i]); } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端