归并排序,实现了一个需要额外m+n空间的方法,应该可以优化使用更少的空间
void merge(int A[], int m, int B[], int n){ int C[100000]; int i=0,j=0; while(i < m && j < n){ if(A[i] <= B[j]){ C[i+j] = A[i]; i++; } else{ C[i+j] = B[j]; j++; } } while(i < m){ C[i+j] = A[i]; i++; } while(j < n){ C[i+j] = B[j]; j++; } for(i = 0; i < m+n; i++) A[i] = C[i]; }