两个数组合并成一个并排序 如何用C语言编程将两个有序数组a,b合并成一个数组c?
如何用C语言编程将两个有序数组a,b合并成一个数组c?
基本思路如下:1)比较a、B数组中的第一个元素,将小元素放入C数组中;
2)将小元素所在数组的下一个元素与上一次比较后的另一个数组中的大元素进行比较,重复上述比较过程,直至先排列一个数组;
3)将另一个数组的其余元素复制到C数组中,并对它们进行合并和排序。
#include
void main()
{
int
a[10],b[10],c[20],i,ia,ib,ic
printf(“请输入第一个数组n”)
for(i=0i
scanf(“%d”,&a[i])
for(i=0i
scanf(“%d”,&b[i])
printf(“n”)
ia=0ib=0ic=0
而(ia
{
c[ic]=a[ia
]ia
}
else{
c[ic]=b[ib
]ib
}
ic
}
while(ia
{
c[ic]=a[ia
]ia
ic
}
When(ib
{
c[ic]=b[ib
]ib
ic
}
for(I=0I
{
printf(“]”),C[i])}
}
这很简单:代码如下(这里不考虑对象,假设它是int[]public int[]getnewarrays(int[]one,int[]two){intlen=one.lengthintlen2=两个.lengthintlen3=oneLength Twolength//获取两个数组长度int[]newarray=newint[len3]之和//创建第三个数组,长度=(inti=0I<len3i){如果(I<len){//如果I<len,分配给元素newarray[I]=one[I]continue}intt=I-len//t从0开始,newarray[I]=two[t]//下列元素被分配给two中的元素}//逐个分配给第三个数组,值是前两个数组数组.排序(newarray)//使用Java提供的sort方法对第三个数组进行排序//此处也可以使用bubble sort Do not show return array}
两个数组合并成一个并排序 数组合并去重 并排序 两个有序字符串合并排序
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。