[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];
}
相关推荐
f***241113 小时前
Bug悬案:技术侦探的破案指南
算法·bug
廋到被风吹走13 小时前
【Spring】Spring Cloud 配置中心动态刷新与 @RefreshScope 深度原理
java·spring·spring cloud
牧小七13 小时前
springboot 配置访问上传图片
java·spring boot·后端
Swift社区13 小时前
LeetCode 472 连接词
算法·leetcode·职场和发展
Dream it possible!13 小时前
LeetCode 面试经典 150_二分查找_搜索旋转排序数组(114_33_C++_中等)
c++·leetcode·面试
CoovallyAIHub13 小时前
YOLO-Maste开源:首个MoE加速加速实时检测,推理提速17.8%!
深度学习·算法·计算机视觉
清铎13 小时前
leetcode_day13_普通数组_《绝境求生》
数据结构·算法
涵涵(互关)13 小时前
JavaScript 对大整数(超过 2^53 - 1)的精度丢失问题
java·javascript·vue.js
_OP_CHEN13 小时前
【从零开始的Qt开发指南】(二十)Qt 多线程深度实战指南:从基础 API 到线程安全,带你实现高效并发应用
开发语言·c++·qt·安全·线程·前端开发·线程安全
进击的丸子13 小时前
基于虹软Linux Pro SDK的多路RTSP流并发接入、解码与帧级处理实践
java·后端·github