C语言:合并两个有序数组,并保持有序性。
#include <stdio.h>
//合并两个有序数组并保持有序性
int main()
{
int a[5] = { 1,3,5,7,9 };
int b[5] = { 0,2,4,6,8 };
int c[10];
int i, j, itm;
//将两个有序数列对接,合并成一个无序数列
for (i = 0; i < 5; i++)
{
c[i] = a[i];
}
for (j = 0; j < 5; j++,i++)
{
c[i] = b[j];
}
//选择排序法,将无序数列c从小到大排序
for (i = 0; i < 10; i++)
{
for (j = 1; i + j < 10; j++)
{
if (c[i] > c[i + j])
{
itm = c[i]; c[i] = c[i + j]; c[i + j] = itm;
}
}
}
for (i = 0; i < 10; i++)
{
printf("%d ", c[i]);
}
}