2016 - 2024

感恩一路有你

c语言合并两个有序数组 两个数组合并C语言?

浏览量:2414 时间:2021-03-17 05:30:39 作者:admin

两个数组合并C语言?

int main(){char a[]=“123456”char b[]=“abcde”int buflen=strlen(a)strlen(b)char*p=(char*)malloc(buflen 1)memset(p,0,buflen)printf(%dn”,buflen)strcpy(p,a)strcat(p,b)printf(%sn”,p)free(p)}C的数组在创建后不能更改,因此数组合并的思想是将数组放入足够大的空间来形成一个新的阵列。上面的函数是一个比较简单的合并方法

这里是借用第三个数组。

原理:先将两个数组复制到第三个数组,然后对第三个数组排序

如果第三个函数没有使用,下面的函数也可以这样做,但是函数声明应该改为:

char*fun(char*DeST,char*STR,char*dest)]/*----函数----------*/

char*fun(char*dest)*STR1,char*STR2,char*dest)//如果目标数组能容纳两个数组

{

char*TMP=dest

char*TMPuudest=dest

如果(!Dest)

return null

while(*STR1)//将STR1复制到Dest

*TMP=*STR1

while(*STR2)//将STR2复制到Dest

*TMP=*STR2

TMPudest--//

while(*TMPudest)//选择排序方法

{

char TMPupx=null

TMP=TMPudest

while(*TMP)//查找下列值的最大值字符串

{

如果(*TMP)udest

TMPupx=TMP

}

如果(!tmpupx)

{

char ch=*tmpudest

*tmpudest=*tmpupx

*tmpupx=ch

}

}

返回dest

}

c语言合并两个有序数组 c语言两个数组相加 两个数组合并成一个并排序

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。