要求
合并后有序,并且去掉重复元素
思路
数组长度不一样时,需要考虑当其中一个数组遍历完时的情况。当其中一个数组遍历完,另一个数组剩的元组直接拷贝即可。如下图所示:
代码
while(1){
if(i>=aa_len&&j>=bb_len) break;
else if(i>=aa_len){
*cc = *(bb+j);
j++;
cc++;
}
else if(j>=bb_len){
*cc = *(aa+i);
i++;
cc++;
}
else {
if(*(aa+i)==*(bb+j)){
*cc = *(aa+i);
i++;
j++;
cc++;
total--;
}else if(*(aa+i)>=*(bb+j)){
*cc = *(bb+j);
j++;
cc++;
}else {
*cc = *(aa+i);
i++;
cc++;
}
}
}