两个有序数组合并成一个有序数组 如何用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
}
while(ib
{
c[ic]=b[ib
]ib
ic
}
for(I=0I
{
c语言合并两个数组?
代码示例:
int main(int argc,char*argv[
{
int a[2][3]={1,2,3,4,5,6}
int b[2][3]={7,8,9,3,2,1}
int i,J
int c[12]//c是一个数组,HA
int k=0
printf(“数组是:”)
//您已经有了a和b,所以不需要再输入它们了
//for(i=0I<6i)
//scanf(“%d”,&A)]//scanf(%d,&B)
//printf(“”“”)//将二维数组放入一维数组中,二维数组双循环
for(I=0I<2i)
for(int j=0j<3j)
{
]C[k]=a[I][j
}]for(I=0I<2i)
for(int j=0j<3j)
{
C[k]=B[I][j
}]printf(“现在,数组是:”n“)
for(I=0I<12i)
{
printf(%d”,C[i])
if((i 1)%4==0)
printf(“n”)
}]return 0
]}
用C语言编写一程序,将2个有序的数组合并为一个新的有序数组?
最新版本的排序可以通过先合并数组,然后选择或冒泡来完成。有两种以上的有序方法。这取决于你学到了什么。如果我需要的话,我会写代码的。稍等片刻
两个有序数组合并成一个有序数组 选择排序算法c语言代码 两个排序数组合并
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。