// 将两个有序表合并成新的有序顺序表,并由函数返回结果顺序表
int* mergeSortArray(int* arr1,int* arr2,int size1,int size2) {
int newSize = size1 + size2;
int* result = (int*)malloc(sizeof(int) * newSize);
int i = 0, j = 0, k = 0;//i最为arr1索引,j作为arr2的索引,k做为合并后的表的索引
while (i < size1 && j < size2) {
if (arr1[i] < arr2[j]) {
result[k++] = arr1[i++];
}
else {
result[k++] = arr2[j++];
}
}
while (i < size1) result[k++] = arr1[i++];
while (j < size2) result[k++] = arr2[j++];
return result;
}
考研数据结构代码题(合并两个有序表)
最新推荐文章于 2024-10-05 15:32:05 发布