基础算法 787.归并排序
代码模板
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include<iostream> using namespace std; const int N = 1e6 + 10; int n; int q[N],tmp[N]; void mergesort( int q[], int l, int r){ if (l>=r) return ; int mid = (l+r )>> 1; mergesort(q,l,mid); mergesort(q,mid+1,r); int k=0,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(){ scanf ( "%d" ,&n); for ( int i=0;i<n;i++) scanf ( "%d" ,&q[i]); mergesort(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 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库