[YM]模板-归并排序

概念:

归并排序,其实是一种分治和递归算法

将大问题转化为一个个小问题处理,最终整合成一个大问题

模板:

cpp 复制代码
const int N = 2e5 + 5;
int a[N],b[N],n;

void mergeSort(int l, int r){
  if(l>=r) return;
  int mid=(l+r)>>1; 
  mergeSort(l,mid); mergeSort(mid+1,r);
  int i=l,j=mid+1,k=l;
  while(i<=mid&&j<=r){
    if(a[i]<=a[j])b[k++]=a[i++]; 
   	else b[k++]=a[j++];
  }
  while(i<=mid)b[k++]=a[i++];
  while(j<=r)b[k++]=a[j++];
  for(int i=l;i<=r;i++)a[i]=b[i];
}

void solve(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    mergeSort(1,n);
    for(int i=1;i<=n;i++)cout<<a[i]<<" \n"[i==n];
}
相关推荐
lzh200409191 分钟前
深入学习Linux进程间通信:解析消息队列
linux·c++
陌路物是人非6 分钟前
记一个controller入参为null的奇怪问题
java·开发语言
nlpming7 分钟前
opencode SQLite 数据库结构与查询手册
算法
水饺编程10 分钟前
第5章,[标签 Win32] :设备的尺寸(三)
c语言·c++·windows·visual studio
Cando学算法11 分钟前
中位数定理:到所有点的距离之和最小的点就是中位数
c++·算法·学习方法
小瓦码J码11 分钟前
Spring boot 如何自定义加密解密数据库连接配置
java
XiYang-DING12 分钟前
【Java EE】JUC的常见类(Callable、ReentrantLock、Semaphore和CountDownLatch )
java·java-ee
nlpming12 分钟前
opencode 上下文压缩(Compaction)机制
算法
RuoyiOffice14 分钟前
2026 年开源 BPM/工作流引擎大盘点:Flowable vs Camunda vs Activiti vs Turbo——谁才是企业级首选?
java·spring boot·后端·开源·流程图·ruoyi·anti-design-vue
anew___15 分钟前
算法刷题避坑指南:从数据规模到易错点的实战总结
算法