·

void merge(int* a, int m, int* b, int n, int* c)

{

int i=0,j=0,k=0;

while(i<m&&j<n)

{

if(*a>=*b)

{

c[k]=*b;

b++;j++;k++;

}

else

{

c[k]=*a;

a++;i++;k++;

}

}

if(i<m)

{

while(k<=m+n-1)

{

c[k]=*a;

a++;

k++;

}

}

if(j<n)

{

while(k<=n+m-1)

{

c[k]=*b;

b++;

k++;

}

}

}

Replies
3

大概是这样的,为什么要设置if(i<m),if(j<n)?,不是应该通过双指针比较完后再将元素个数多的那个数组直接整合到c数组中吗

你用网页版插入代码的功能 你这样好难看懂代码,网站有个帮助文档 学一下 markdown

现在去学一下