c语言 数组二合一,C语言合并两个数组并去重

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

给定含有m、n个元素的两个有序(非降序)整型数组a和b。

合并两个数组中的元素到整型数组c,要求去除重复元素并保持c有序(非降序)。

例子如下:

a = 2,3,4,6,8,9

b = 7,9,10

c = 2,7,10

// 合并两个含有nA、nB个元素的有序数组

void Merge(int *a,int *b,int *c,int nA,int nB,int& nCout)

{

int i = 0 ;

int j = 0 ;

int k = 0 ;

while (i < nA && j < nB)

{

if (a[i] < b[j])// 如果a的元素小,则插入a中元素到c

{

c[k++] = a[i] ;

++i ;

nCout++;

}

else if (a[i] == b[j])// 如果a和b元素相等,则插入二者皆可,这里插入a

{

c[k++] = a[i] ;

++i ;

++j ;

nCout++;

}

else // a[i] > b[j] // 如果b中元素小࿰

你可能感兴趣的:(c语言,数组二合一)