数组归并去重问题
程序代码:void merge(int c[], int *nc,int a[],int na,int b[], int nb)
{
int cursora = 0;
int cursorb = 0;
int cursorc = 0;
while((cursora<na)&&(cursorb<nb))
{
if (a[cursora]<= b[cursorb])
{
c[cursorc++]=a[cursora++];
}
else
{
c[cursorc++]=b[cursorb++];
}
}
while(cursora<na)
{
c[cursorc++]=a[cursora++];
}
while(cursorb<nb)
{
c[cursorc++]=b[cursorb++];
}
*nc = cursorc;
}
这是一个数组归并的算法,假如a[3] = {1,2,3}; b[4] = {1,3,5,7}; 则合并后的数组为c[7]={1,1,2,3,3,5,7};
现在我想在这个代码上稍微改动一下 ,让它归并去重,得到的新数组为 c[5]={1,2,3,5,7};
我当然可以单独设计个子函数,对归并后的c[]进行去重,但是我现在不想这么弄,我现在就想在这个归并函数里面加上这个去重。
求助怎么弄???









