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 }

最新文章

  1. win7 64位 asp+access 数据库连接出错[代码:02],请检查数据库链接文件中的连接字串
  2. linux开机随笔
  3. jquery常用代码
  4. 我在用的mac软件(3)-效率篇
  5. word2007里插入分节符
  6. 2016年11月28日 星期一 --出埃及记 Exodus 20:19
  7. 获取JDK动态代理/CGLIB代理对象代理的目标对象。
  8. cocos2d-x系列 Mac下配置cocos2d-x开发环境(android和ios)
  9. Qt在windows 平台操作保存execel的表格(通过QAxObject来操作)
  10. java基础:学员状态查询
  11. flask权限控制
  12. Behavior开发时找不到Expression.Interactions的问题解决
  13. SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
  14. Linux实践:模块
  15. Vue小案例 之 商品管理------创建页面与部分数据
  16. Elasticsearch 5.2.x 使用 Head 插件连接不上集群
  17. 动态规划(dp)专题
  18. ASP.NET 4.0尚未在 Web 服务器上注册
  19. [CF1086E]Beautiful Matrix(容斥+DP+树状数组)
  20. javascript和bigint

热门文章

  1. day11 python名称空间 作用域
  2. 发布后台接口报错:could not load file or assembly &#39;mysql.data,&#39; version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d
  3. liunx下在线安装mysql
  4. 理解First-Class Functions
  5. 分布式项目web.xml配置文件的表头
  6. 【LeetCode 16】最接近的三数之和
  7. 线段树求后继+环——cf1237D
  8. hive中分隔符‘\001’到底是什么鬼
  9. AcWing 286. 选课 (树形依赖分组背包)打卡
  10. 自己写Linux module来收集buddy info