合并排序

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 }