合并排序

合并排序

 1 # include<iostream>
 2 # include<cstdio>
 3 using namespace std;
 4 void MergeArray(int a[],int alen,int b[],int blen)
 5 {
 6     int len = alen + blen -1;
 7     alen--;
 8     blen--;
 9     while(alen >= 0 && blen >= 0)
10     {
11         if(a[alen] > b[blen])
12         {
13             a[len--] = a[alen--];
14         }
15         else
16         {
17             a[len--] = b[blen--];
18         }
19     }
20     while (alen>=0)
21     {
22         a[len--]=a[alen--];
23     }
24     while (blen>=0)
25     {
26         a[len--]=b[blen--];
27     }
28 }
29 int main()
30 {
31     int a[]= {2,4,6,8,10,0,0,0,0,0};//必须这样,留够空间
32     int b[]= {1,3,5,7,9};
33     MergeArray(a,5,b,5);
34     for (int i=0; i<sizeof(a)/sizeof(a[0]); i++)
35     {
36         cout<<a[i]<<" ";
37     }
38 }
View Code

 

posted @ 2014-06-10 20:54  天天AC  阅读(126)  评论(0编辑  收藏  举报