再回首,数据结构——有序线性表的合并

时间:2023-02-22 19:43:06

最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。


/* 将递增数组a[m],递减数组b[n],
归并为有序递增数组c[m+n]
*/

void sort (int *a, int *b, int m, int n)
{
int i, j, k = 0;
int c[m+n];

i = 0;
j = n -1;
while (i < m && j >= 0)
{
if (a[i++] > b[j--])
c[k++] = a[i++];
else
c[k++] = b[j--];
}

while (i < m)
c[k++] = a[i++];

while (j >= 0)
c[k++] = b[j--];
}