归并排序c语言
2024-08-31 11:21:35
void mergeAdd(int arr[], int left, int mid, int right, int *temp){
int i = left;
int j = mid + ;
int k = left;//临时下标
while (i <= mid&&j <= right){
if (arr[i] < arr[j]){
temp[k++] = arr[i++];
}
else{
temp[k++] = arr[j++];
}
}
while (i <= mid){
14 temp[k++] = arr[i++];
15 }
16 while (j <= right){
17 temp[k++] = arr[j++];
}
memcpy(arr + left, temp + left, sizeof(int)*(right - left+));
}
void mergeSort(int arr[],int left,int right,int *temp){
25 int mid = ;
if (left < right){ //归并排序采用先分再并的思想,效率上为O(nlgn), 空间上为O(n),需要耗用多一倍的空间
mid = left + (right - left) / ;
mergeSort(arr, left, mid, temp);
29 mergeSort(arr, mid + , right, temp);
mergeAdd(arr, left, mid, right, temp);
}
32 }
最新文章
- win7 64位 asp+access 数据库连接出错[代码:02],请检查数据库链接文件中的连接字串
- linux开机随笔
- jquery常用代码
- 我在用的mac软件(3)-效率篇
- word2007里插入分节符
- 2016年11月28日 星期一 --出埃及记 Exodus 20:19
- 获取JDK动态代理/CGLIB代理对象代理的目标对象。
- cocos2d-x系列 Mac下配置cocos2d-x开发环境(android和ios)
- Qt在windows 平台操作保存execel的表格(通过QAxObject来操作)
- java基础:学员状态查询
- flask权限控制
- Behavior开发时找不到Expression.Interactions的问题解决
- SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
- Linux实践:模块
- Vue小案例 之 商品管理------创建页面与部分数据
- Elasticsearch 5.2.x 使用 Head 插件连接不上集群
- 动态规划(dp)专题
- ASP.NET 4.0尚未在 Web 服务器上注册
- [CF1086E]Beautiful Matrix(容斥+DP+树状数组)
- javascript和bigint
热门文章
- day11 python名称空间 作用域
- 发布后台接口报错:could not load file or assembly &#39;mysql.data,&#39; version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d
- liunx下在线安装mysql
- 理解First-Class Functions
- 分布式项目web.xml配置文件的表头
- 【LeetCode 16】最接近的三数之和
- 线段树求后继+环——cf1237D
- hive中分隔符‘\001’到底是什么鬼
- AcWing 286. 选课 (树形依赖分组背包)打卡
- 自己写Linux module来收集buddy info