当前位置: 首页 > news >正文

归并排序(递归代码)

#include<stdio.h>

#include<stdlib.h>

// 归并排序:非原地排序、稳定排序

// 时间复杂度 O(nlogn)

void merge_sort(int a[],int l,int r)

{

// 对数组 a 的 [l,r] 区间进行归并排序

// 递归终止条件

// 当区间内只有一个元素或没有元素时,无需排序

if(l>=r)return;

// 求中点

int mid=(l+r)/2; // l~~~mid mid+1~~r

// 递归排序左半部分

merge_sort(a,l,mid);

// 递归排序右半部分

merge_sort(a,mid+1,r);

// 将两个有序区间合并

int i=l; // 指向左区间起点

int j=mid+1; // 指向右区间起点

int t[105]; // 临时数组,存放合并结果

int k=0; // t数组下标

// 同时扫描两个区间

while(i<=mid&&j<=r)

{

if(a[i]<=a[j])

{

// 左边元素较小,放入临时数组

t[k++]=a[i];

i++;

}

else

{

// 右边元素较小,放入临时数组

t[k++]=a[j];

j++;

}

}

// 左区间剩余元素直接复制

while(i<=mid)

{

t[k++]=a[i];

i++;

}

// 右区间剩余元素直接复制

while(j<=r)

{

t[k++]=a[j];

j++;

}

// 此时两个有序区间已经全部合并到 t 中

// 将 t 中的数据复制回原数组对应位置

for(i=0;i<k;i++)

{

a[l+i]=t[i];

}

}

int main()

{

int n,a[105];

// 输入元素个数

scanf("%d",&n);

// 输入数组元素

// 本程序采用 1~n 下标存储

for(int i=1;i<=n;i++)

{

scanf("%d",&a[i]);

}

// 调用归并排序

merge_sort(a,1,n);

// 输出排序结果

for(int i=1;i<=n;i++)

{

printf("%d ",a[i]);

}

printf("\n");

}



http://www.zskr.cn/news/1461062.html

相关文章:

  • 石家庄黄金回收找哪家?这五家正规门店免费上门,久美30年零差评 - 行行星
  • 【Redis从入门到精通】第55篇:Redis事务——MULTI/EXEC/DISCARD/WATCH详解
  • 基于树莓派与OpenCV的实时人脸识别系统:从硬件搭建到算法部署全流程
  • 96110是什么电话?新流派带你了解反诈专线背后的秘密
  • 2026国产数据库全景图:按架构、按行业、按能力三维度一表选型
  • VOCs检测车监控管理平台解决方案
  • 告别pip install失败:手把手教你搞定Python Click的离线安装(附国内镜像源大全)
  • 生成式智能搜索下的流量卡位攻略:初创个体如何甄选高兼容性的 GEO 优化 服务商
  • 高并发服务器必备:小根堆定时器从设计到实现全流程
  • 解密NomNom存档编辑器:三步搞定JSON导出异常问题
  • Python量化交易实战:如何用jqktrader构建高效自动化交易系统
  • 2026年汉中市口碑首选!黄金回收铂金回收白银回收权威门店 TOP5 附咨询电话 - 信誉隆金银铂奢回收
  • TCC-G15终极指南:快速掌控Dell笔记本散热性能的完整方案
  • 实战指南:Python自动化获取B站数据全流程
  • 2026年宝鸡市黄金回收白银回收铂金回收门店 TOP5榜单无套路:实体店铺地址电话一览 - 诚金汇钻回收公司
  • 如何用Python构建同花顺自动化交易系统:jqktrader技术深度解析
  • 别再死记硬背网表了!用HSPICE和Spectre仿真MOSFET时,这3个参数设置错了等于白跑
  • 2026年怀化市口碑首选!黄金回收铂金回收白银回收权威门店 TOP5 附咨询电话 - 信誉隆金银铂奢回收
  • 2026年显微硬度计哪家强?精密硬度检测设备推荐上海钜惠仪器 - 品牌推荐大师1
  • 吐司:自然语言生成App的首选零代码平台
  • 如何高效使用HLS下载器:浏览器流媒体下载的终极解决方案
  • Windows Btrfs驱动完全指南:如何实现跨平台文件系统的终极支持
  • 广元市2026年黄金回收白银回收铂金回收权威门店 TOP5+正规可靠机构电话与地址汇总 - 中安检金银铂钻回收
  • AI赋能开发:探索如何用快马AI模型智能生成并增强qclow官网
  • 2026年山东面粉加工设备与豆类磨粉机源头厂家深度选购指南 - 企业名录优选推荐
  • 10分钟精通语雀文档完整导出:零代码迁移实战指南
  • 青岛十几年老店收翡翠,不靠套路赚差价,靠实价留回头客 - 奢侈品交易观察员
  • 2026雨水收集模块厂家推荐:MEA米亚百年技术赋能水资源管理 - 品牌排行榜
  • SourceGit终极指南:如何用免费跨平台Git客户端简化你的开发工作流
  • 2026年丹东市口碑首选!黄金回收铂金回收白银回收权威门店 TOP5 附咨询电话 - 信誉隆金银铂奢回收