将两个数组合并为一个数组并排序,两个数组归并排序

http://www.itjxue.com  2023-01-21 09:48  来源:未知  点击次数: 

如何合并两个数组为一个数组,并且排序

我理解的意思是:

1.String[] m={1,2,3};

String[] n={1,3,5};

合并后:String mn={1,2,3,1,3,5};

//如果是这样:就是循环两个数组,把数据存到一个新的数组里即可。

2.String[] m={1,2,3};

String[] n={1,3,5};

合并后:String mn={1,1,2,3,3,5};

//如果是这样:就是循环两个数组,把数据存到一个新的数组里,再进行排序即可。

将两个数组合并到一个数组并排序的c语言程序编写

这里是借用第三个数组。

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

如果不使用第三个函数,那么下面这个函数一样可以做到,不过函数声明就要改成:

char* fun(char *dest, char *str, char *dest)

/*------------------------------函数--------------------------------*/

char* fun(char *str1,char *str2,char *dest) //前提,目标数组能偶容纳两个数组

{

char *tmp=dest;

char *tmp_dest=dest;

if(!dest)

return NULL;

while(*str1) //将str1复制进dest

*tmp++=*str1++;

while(*str2) //将str2复制进dest

*tmp++=*str2++;

tmp_dest--; //

while(*++tmp_dest) //选择排序法

{

char *tmp_px=NULL;

tmp=tmp_dest;

while(*++tmp) //找到后面一串的最值

{

if(*tmp_dest*tmp)

tmp_px=tmp;

}

if(!tmp_px)

{

char ch=*tmp_dest;

*tmp_dest=*tmp_px;

*tmp_px=ch;

}

}

return dest;

}

C程序将两个数组合并排序

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

如果不使用第三个函数,那么下面这个函数一样可以做到,不过函数声明就要改成:

char* fun(char *dest, char *str, char *dest)

/*------------------------------函数--------------------------------*/

char* fun(char *str1,char *str2,char *dest) //前提,目标数组能偶容纳两个数组

{

char *tmp=dest;

char *tmp_dest=dest;

if(!dest)

return NULL;

while(*str1) //将str1复制进dest

*tmp++=*str1++;

while(*str2) //将str2复制进dest

*tmp++=*str2++;

tmp_dest--; //

while(*++tmp_dest) //选择排序法

{

char *tmp_px=NULL;

tmp=tmp_dest;

while(*++tmp) //找到后面一串的最值

{

if(*tmp_dest*tmp)

tmp_px=tmp;

}

if(!tmp_px)

{

char ch=*tmp_dest;

*tmp_dest=*tmp_px;

*tmp_px=ch;

}

}

return dest;

}

(责任编辑:IT教学网)

更多

相关ASP教程文章

推荐ASP教程文章