已知两非递减的顺序线性表,要求合并成一个新的非递减顺序线性表。(测试数据为整型)
输入
输入包含四行,第一行为自然数n,表示第一个非递减顺序线性表的长度;
第二行为n个自然数构成的非递减顺序线性表;
第三行为自然数m,表示第二个非递减顺序线性表的长度;
第四行为m个自然数构成的非递减顺序线性表。
输出
输出:用一行输出合并后的非递减顺序线性表,各数之间用一个空格隔开。
样例输入
2
1 3
3
2 3 6
样例输出
1 2 3 3 6
#include<stdio.h>
int main()
{
int n,m,i,j;
int a,b,c[500]={0};
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a);
c[a]++;
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d",&b);
c[b]++;
}
for(i=0;i<500;i++)
{
for(j=1;j<=c[i];j++)
{
printf("%d ",i);
}
}
return 0;
}
//此题为有序顺序表的操作可以采用数组的方式。
采用一个简单桶排序来解决问题