[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];
}
相关推荐
anscos3 分钟前
为CUDA 代码引入静态分析
c++·工业软件·功能检测
众少成多积小致巨3 分钟前
C++ 规范参考(中)
c++
亦暖筑序9 分钟前
AgentScope-Java 入门:用 Middleware 审计 Agent 调用
java·ai编程·agentscope
shylyly_17 分钟前
C++中的类型转换
开发语言·c++·匿名对象·隐式类型转换·拷贝优化
你驴我19 分钟前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python
jinyishu_21 分钟前
哈希表原理与开放定址法C++实现
c++·哈希算法·散列表
青山木1 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
未来之窗软件服务1 小时前
计算机考试-快速排序—东方仙盟
数据结构·算法·排序算法·仙盟创梦ide·东方仙盟
小龙报1 小时前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
wWYy.1 小时前
数据结构:跳表
数据结构