[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];
}
相关推荐
s_w.h13 小时前
【 刷题 】双指针
算法
啥都想学点的研究生13 小时前
一篇文章讲清楚:K-Means聚类算法
算法·kmeans·聚类
泡海椒13 小时前
低代码规则开发:JQuick-Java声明式配置驱动开发落地教程
java·低代码·rxjava
白狐_79813 小时前
408 数据结构|KMP做题方法:next、nextval和高频易错点
数据结构·算法
月华路13 小时前
《模型不玄学》第20章 两种评估视角
人工智能·算法·机器学习
weixin_4407305013 小时前
socket解决多次输入问题-大数据接收问题-模块动态导入
java·开发语言·servlet
用户31268748772013 小时前
ReentrantLock 和 synchronized 到底选哪个?源码级对比与选型
java
计算机毕设定制辅导-无忧学长13 小时前
基于Spring Boot的玄幻小说个性化推荐平台设计与实现
java·vue.js·spring boot·后端·mysql·推荐算法
码路漫漫13 小时前
LRU 真的能解决日志按业务 Key 分文件的落地瓶颈吗?
java·后端
禹凕13 小时前
快速幂算法详解与实战
python·算法