归并排序,哪里出错了
void merge(int a[], int low, int mid, int high){ int n1 = mid - low + 1; int n2 = high - mid; int b[10]; int c[10]; int i, j, k; for(i = 0; i < n1; i++) b[i] = a[low+i-1]; for(i = 0; i < n2; i++) c[i] = a[mid+i]; i = 0; j = 0; k = 0; while((i < n1) && (j < n2) && (k < high)) { if(b[i] < c[j]) { a[k] = b[i]; i++; } else { a[k] = c[j]; j++; } k++; }}void mergeSort(int a[], int low, int high){ int mid; if(high >= low) { mid = (low + high)/2; mergeSort(a, low, mid); mergeSort(a, mid, high); merge(a, low, mid, high); }}