归并排序 代码 + 讲解
归并排序其实就是一个简简单单的递归分治,话不多说,直接上代码
#include <bits/stdc++.h>using namespace std;int n;
int arr[200005];
int brr[200005];void merge_sort(int left,int right){ //参数为每次拆分的左右边界 if (left >= right) return; //当左右边界重合时,设置边界 int c = (left + right) / 2; //计算中间点 merge_sort(left,c); //对左半部递归 merge_sort(c + 1,right); //对右半部递归int x = left,y = c + 1,z = left; //合并时三个数组的下标while (x <= c && y <= right){ //只要左右任意一边去数字,就结束循环 if (arr[x] < arr[y]) brr[z++] = arr[x++]; //将少的数字放在新数组中 else brr[z++] = arr[y++];}//将剩余数字直接平移到新数组中汇总 while (x <= c) brr[z++] = arr[x++];while (y <= right) brr[z++] = arr[y++];for (int i = left;i <= right;i++) arr[i] = brr[i];
}int main(){cin >> n;for (int i = 0;i < n;i++) cin >> arr[i];merge_sort(0,n - 1);for (int i = 0;i < n;i++) cout << arr[i] << " ";return 0;
}
归并排序 代码 + 讲解相关推荐
- 手把手教你如何做建模竞赛(baseline代码讲解)
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 1.大赛背景 随着科技发展,银行陆续打造了线上线下.丰富多样的客户触 ...
- 【资源】Faster R-CNN原理及代码讲解电子书
<Faster R-CNN原理及代码讲解>是首发于GiantPandaCV公众号的教程,针对陈云大佬实现的Faster R-CNN代码讲解,Github链接如下: https://gith ...
- 激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
应用背景介绍 自主导航是机器人与自动驾驶的核心功能,而SLAM技术是实现自主导航的前提与关键.现有的机器人与自动驾驶车辆往往会安装激光雷达,相机,IMU,GPS等多种模态的传感器,而且已有许多优秀的激 ...
- 彻底剖析激光-视觉-IMU-GPS融合SLAM算法:理论推导、代码讲解和实战
应用背景介绍 自主导航是机器人与自动驾驶的核心功能,而SLAM技术是实现自主导航的前提与关键.现有的机器人与自动驾驶车辆往往会安装激光雷达,相机,IMU,GPS等多种模态的传感器,而且已有许多优秀的激 ...
- 彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
视觉三维重建 = 定位定姿 + 稠密重建 + surface reconstruction +纹理贴图.三维重建技术是计算机视觉的重要技术之一,基于视觉的三维重建技术通过深度数据获取.预处理.点云配准 ...
- mysql多表联查分页_sqlserver多表联合查询和多表分页查询的代码讲解
sqlserver多表联合查询和多表分页查询的代码讲解 发布时间:2020-05-14 14:42:07 来源:亿速云 阅读:700 作者:Leah 这篇文章主要为大家详细介绍了sqlserver多表 ...
- python中的object是什么意思_Python object类中的特殊方法代码讲解
python版本:3.8class object: """ The most base type """ # del obj.xxx或del ...
- 三层代码讲解--第一课
主题:三层代码讲解--第一课 主持人:老吴 时间:2004-05-24 2004-05-24 10:47:00 天之痕_若虹(86278566) 請教大家一個問題好嗎 2004-05-24 10:47 ...
- WPF第一章(XAML前台标记语言(Chapter02代码讲解))
XAML前台标记语言(Chapter2代码讲解) 很不好意思,工作有点忙,博客停了两天.相对于一门语言的学习,理论知识和实践必不可少,大多数时间我们要用,对于代码也是,一边不行可以看两遍,实在 ...
最新文章
- Oracle存储过程(增、删、改)写法
- 【AT987】高橋君【组合数】【莫队】
- 在windows上使用go编译dll文件,供C++调用
- python为什么closed_为什么Python无法解析此JSON数据? [关闭] - Why can't Python parse this JSON data? [closed]...
- 如何将字符串数组的空格去除_java中如何将数组转换为List
- UIImage(类别)缩放适合范围.
- 如何读取二进制图片-.ashx一般处理程序
- 正点原子STM32F103 DMA代码例程魔改
- undo歌词中文音译_T-ara - Lovey Dovey 罗马拼音+中文歌词+韩文歌词+中文音译
- linux触摸屏应用程序开发,linux触摸屏(一)编写触摸屏应用
- 美通企业日报 | 三大因素最影响职场女性心理健康;Instagram重要性超过推特脸书...
- char字符变量在c语言中有什么用,c语言char怎么用
- python连接mysql orm_Python通过ORM方式操作MySQL数据库
- Leetcode1278
- imx6上调用 vpu
- 网页验证码显示在输入框input上的方法
- JAVA基础----终弄清java核心技术卷1中的int fourthBitFromRight = (n 0b1000 ) / 0b1000;是怎么回事了。。。
- uboot2018.7以上版本bison报错
- 输入的英文字母隔得很开
- 优秀CTO修炼之道:向上生长,向下兼容