我写的参考:
#include
#define N 10
int com(int *a,int *b,int *c)
{
int ct,i,j,x,t,r=0;
for(ct=0; ct
c[ct]=a[ct];
for(i=0; i
{
x=b[i];
for(j = 0; j < ct; j++)
{
if (c[j]==x) //相等
{
for(t=j;t
c[t]=c[t+1]; //删除1个
ct--;
r++;
break;
}
if(c[j] > x) //找到插入位置
{
for(t = ct; t > j; t--) //当前开始数据右移一个
{
c[t] = c[t - 1];
}
c[j] = x; //插入
ct++;
break;
}
}
// printf("%d %d\n",x,c[ct-1]);
if(x > c[ct-1])
c[ct++]=x;
}
return r;
}
int main()
{
int a[N],b[N],c[2*N];
int i,n;
for(i=0; i
scanf("%d",&a[i]);
for(i=0; i
scanf("%d",&b[i]);
n=com( a, b, c);
for(i=0; i<2*(N-n); i++)
printf("%d ",c[i]);
printf("\ncount=%d\n",n);
return 0;
}
例样测试
特殊例样测试(数据全等,c为空)
特殊例样测试一(数据全只有一组不等)