水题,关键是从后向前遍历
//2014年8月25日21:35:09
//从后往前遍历
//2014年8月25日21:45:04
#include <iostream>
using namespace std;
class Solution {
public:
void merge(int A[], int m, int B[], int n) {
int p = m-1,q = n-1;
int i;
for(i=m+n-1 ; i>=0 && p>=0 && q>=0 ; i--){
if(A[p] > B[q]){
A[i] = A[p];
p--;
}
else{
A[i] = B[q];
q--;
}
}
while(q >= 0){
A[i] = B[q];
i--;
q--;
}
}
};
int main()
{
int A[6] = {1,2,3};
int B[3] = {4,5,6};
Solution S;
S.merge(A,3,B,3);
for(int i=0 ; i<6 ; i++){
cout << A[i] << " ";
}
cout << endl;
return 0;
}