c语言写merge函数 c语言中merge函数

c语言中的merge函数并不是说类型不匹配 , 是因为在使用merge之前未定义 , 把merge放到mergeSor前面 , 或是在最开始写上这句:
void
merge(int*,int,int,int);
希望对你能有所帮助 。
用c语言,编写一个函数int merge(int a[],int lean,int b[],in)#include stdio.h
int merge(int a[],int lena,int b[] ,int lenb,int c[])
{
int i=0,j=0,lenc=0;
while(ilena ||jlenb)
{
if(a[i]b[j])
c[lenc]=a[i];
else
c[lenc]=b[j];
}
if(ilena)
for(i;ilena;i) c[lenc]=a[i];
if(jlenb)
for(j;jlenb;j) c[lenc]=b[j];
return lenc;
}
int main()
{
int a[]={1,3,5,7},b[]={2,4,6,8,10},c[100],i,lenc;
lenc=merge(a,sizeof(a)/sizeof(a[0]),b,sizeof(b)/sizeof(b[0]),c);
for(i=0;ilenc;i) printf("%d\n",c[i]);
return 1;
}
c语言合并两个文件完整代码如下 , 有任何疑问可以追问 。
#include stdio.h
#include stdlib.h
int merge(char *in1,char *in2,char *out)
{
FILE *f_in,*f_out;
int n;
char buf[4096];
//打开输出文件
f_out=fopen(out,"wb");
if(!f_out) return 0;
//打开并读第一个文件写到输出文件
f_in=fopen(in1,"rb");
if(!f_in) return 0;
【c语言写merge函数 c语言中merge函数】while(n=fread(buf,1,sizeof(buf),f_in))
{
fwrite(buf,1,n,f_out);
}
fclose(f_in);
//打开并读第二个文件写到输出文件
f_in=fopen(in2,"rb");
if(!f_in) return 0;
while(n=fread(buf,1,sizeof(buf),f_in))
{
fwrite(buf,1,n,f_out);
}
fclose(f_in);
fclose(f_out);
return 1;
}
int main()
{
if (!merge (“1.txt”, “2.txt”, “3.txt”))
printf(“Failed”);
else
printf(“successfully”);
return 0;
}
c语言编写一个函数void stringmerge(char S1[],char S2[]),对键根据题意可得代码:
#include stdio.h
void stringmerge(char S1[],char S2[])
{
int i=0, j=0;
while (S1[i]!='\0')i;
while (S2[j] != '\0'){
S1[i j]=S2[j];
j;
}
S1[i j]='\0';
}
int main(void)
{
char S1[20], S2[20];
scanf ("%s%s", S1, S2);
stringmerge(S1, S2);
printf ("%s\n", S1);
return 0;
}
c语言中用merge函数把两个从小到大的排序数组合并为一个从小到大的数组因为两个数组的长度是不同的 , 数组a的元素个数是n,数组b的元素个数是m 。for循环是在两个数组中分别比较元素的大小,指针c指向两个数组中较小的那个元素 。依次朝后比较 。当其中一个数组的元素全部都被遍历完,则指针c 就直接依次指向另外一个数组所有元素,将元素都添加到新数组中 。
说的可能有点罗嗦 。
举个例子吧
假定 a={1,3,7,}
b={2,4}
按照上面的程序,它的执行顺序是:
1) 比较a中的第一个元素和b中的第一个元素,12 , 指针指向1
2) 比较a中的第二个元素和b中的第一个元素,32,指针指向2
3) 比较a中的第二个元素和b中的第二个元素 , 34, 指针指向3
4) 此时b中的元素全部都被遍历完,则跳出for循环,执行后面的while语句
5) 因为a中的元素还没有被遍历完 , 则执行第一个while语句,指针依次指向a中的剩余元素,一直到a中的元素都被遍历完为止 。
c最后得到的结果就是{1,2,3,4,7}
希望说明白了,能够帮到你
关于c语言写merge函数和c语言中merge函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读