码迷,mamicode.com
首页 > 编程语言 > 详细

二路归并算法实现

时间:2018-11-24 21:05:05      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:amp   i++   归并   void   let   pre   class   归并算法   core   

 1 void MergeSortCore(int *a,int low,int mid,int high)
 2 {
 3 int *b = new int;
 4 int i,j,k;
 5 for(i=low,j=mid+1,k=low;i<=mid && j<=high;k++)
 6 {
 7 if(a[i]<a[j])
 8 b[k] = a[i++];
 9 else
10 b[k] = a[j++];
11 }
12 for(;i<=mid;i++)
13 b[k++] = a[i];
14 for(;j<=high;j++)
15 b[k++] = a[j];
16 for(i=low;i<=high;i++)
17 a[i] = b[i];
18 delete []b;
19 }
20 
21 void MergeSort(int *a,int low,int high)
22 {
23 if(low<high)
24 {
25 int mid = low+(high-low)/2;
26 MergeSort(a,low,mid);
27 MergeSort(a,mid+1,high);
28 MergeSortCore(a,low,mid,high);
29 }
30 }

 

二路归并算法实现

标签:amp   i++   归并   void   let   pre   class   归并算法   core   

原文地址:https://www.cnblogs.com/susidian/p/10013132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!