#include<iostream> #include<string.h> using namespace std; void MergeArray(int a[],int alen,int b[],int blen) { int len=alen+blen-1; alen--; blen--; while (alen>=0 && blen>=0) { if (a[alen]>b[blen]) { a[len--]=a[alen--]; }else{ a[len--]=b[blen--]; } } while (blen>=0) { a[len--]=b[blen--]; } } void MergeArrayTest() { int a[]={2,4,6,8,10,0,0,0,0,0}; int b[]={1,3,5,7,9}; MergeArray(a,5,b,5); for (int i=0;i<sizeof(a)/sizeof(a[0]);i++) { cout<<a[i]<<" "; } } int main(){ MergeArrayTest(); }
放在另一个数组中
#include<iostream> using namespace std; void mergeArray(int a[],int b[]){ int i=5; int j = 5; int k=i+j; int c[k]; i--; j--; k--; while(i>=0 && j >=0){ if(a[i]>b[j]){ c[k--] = a[i--]; }else{ c[k--] =b[j--]; } } while(j>=0){ c[k--] = b[j--]; } for (int l=0;l<10;l++){ cout<<c[l]<<" "; } cout<<endl; } int main(){ int a[]={2,4,6,8,10}; int b[]={1,3,5,7,9}; mergeArray(a,b); return 0; }