分模块式实现
1.实现两个有序数组的合并;
//m,n分别为数组a,b的长度(有效值的个数),先要将已排好序的两个数组合并后赋给res数组
1 int k=0,left,right;
2 for(left=0,right=0;left<m&&right<n;k++)
3 {
4 if(a[left]<b[right])
5 res[k]=a[left++];
6 else
7 res[k]=b[right++];
8 }
9
10 if(left<m){
11 for(int i=0;i<m-left;++i)
12 res[k+i]=a[left+i];
13 }
14 if(right<n){
15 for(int i=0;i<n-right;++i)
16 res[k+i]=b[right+i];
17 }
18 for(int i=0;i<m+n;++i)
19 {
20 cout<<res[i]<<' ';
21 }