博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
归并排序 (模板)
阅读量:5060 次
发布时间:2019-06-12

本文共 938 字,大约阅读时间需要 3 分钟。

分治的思想,时间复杂度O(nlogn)

#include
#include
#include
#include
#include
#include
using namespace std;const int MAXN = 100005;inline int rd(){ int x=0,f=1;char ch=getchar(); while(ch<'0' || ch>'9') { if(ch=='-') f=-1;ch=getchar();} while(ch>='0' && ch<='9') {x=(x<<1)+(x<<3)+ch-'0';ch=getchar();} return x*f;}int n,a[MAXN],cpy[MAXN];inline void merge_sort(int l,int r){ if(l==r) return; int mid=l+r>>1; merge_sort(l,mid); merge_sort(mid+1,r); int i=l,j=mid+1,k=l; while(i<=mid && j<=r){ if(a[i]<=a[j]) cpy[k++]=a[i++]; else cpy[k++]=a[j++]; } for(i;i<=mid;i++) cpy[k++]=a[i]; for(j;j<=r;j++) cpy[k++]=a[j]; for(register int i=l;i<=r;i++) a[i]=cpy[i];}int main(){ n=rd(); for(register int i=1;i<=n;i++) a[i]=rd(); merge_sort(1,n); for(register int i=1;i<=n;i++) printf("%d ",a[i]); return 0;}

转载于:https://www.cnblogs.com/sdfzsyq/p/9676928.html

你可能感兴趣的文章
10nm Ice Lake处理器值得等待!
查看>>
第十一周编程总结
查看>>
Android平台使用SQLite数据库存储数据
查看>>
JS 日期处理
查看>>
分布式session的几种实现方式
查看>>
今天玩一下python得邮件解析吧,查看邮件内容小儿科,我们下载邮件的附件
查看>>
div+css网页部署到本机和服务器上看到的效果不同
查看>>
Top K 算法详解
查看>>
JavaScript Patterns 2.8 Number Conversions with parseInt()
查看>>
从php到浏览器的缓存机制,不得不看!
查看>>
java正则表达式
查看>>
Google 最新推出数据集搜索
查看>>
Linux及安全实验二:SET-UID程序漏洞实验
查看>>
对象作为函数参数
查看>>
ie6兼容性处理
查看>>
【TDS学习文档2】概念理解
查看>>
北京信息科技大学第十一届程序设计竞赛(重现赛)H
查看>>
母版页的应用
查看>>
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/bin/java: No such file or directory
查看>>
iOS系统状态栏动态隐藏问题
查看>>