数组连接
发布网友
发布时间:2022-06-01 17:22
我来回答
共4个回答
热心网友
时间:2023-10-09 15:17
strcat
strncat
无论怎么连接,必须要有允许的空间把另一个数组连接上
你要源程序?
//////////////////////
#include <string.h>
char *string_cat(char * src1, int src1Len, char * src2, int src2Len)
{
char *dst = NULL;
int i = 0;
if(NULL == dst || NULL == src)
{
return NULL;
}
dst = malloc(src1Len + src2Len+1);
if(NULL == dst)
{
return NULL;
}
memset(dst, NULL, src1Len+src2Len+1);
strncpy(dst, src1, src1Len);
i=0;
while(i<src2Len)
{
*(dst+src1Len+i)=*(src2Len+i);
i++;
}
*(dst+src1Len+src2Len) = 0;
return dst;
}
这个要求调用此函数的最后free掉.
strcat必须要求两个字符串都有结束符,否则会有问题,且第一个字符串要有足够空间,否则会失败。
热心网友
时间:2023-10-09 15:18
//连接两个数组
public static int[] Concat(int[] a,int[] b){
int length = a.length+b.length;
int[] result = new int[length];
for(int i=0;i<a.length;i++){
result[i]=a[i];
}
for(int j=0;j<b.length;j++){
result[j+a.length] = b[j];
}
sort(result);
return result;
}
//直接选择排序
public static void sort(int[] array){
int temp=0;
for(int i=0;i<array.length;i++){
for(int j=i;j<array.length-1;j++){
if(array[j+1]<array[i]){
temp = array[i];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
热心网友
时间:2023-10-09 15:18
你想怎么连接啊?
要不要剔除重复的啊
热心网友
时间:2023-10-09 15:19
先链接 后排序 就行了么?