已知顺序表的结构定义如下:
typedef struct
{
int size, length;
long long *element;
} LIST;
说明:参数 dst 为指示目标顺序表的指针,src1 和 src2 分别为指示两个源顺序表的指针。函数将 src1 和 src2 所指两个源顺序表合并到 dst 所指目标顺序表中。目标顺序表中只保存两个源表中相同的元素。
函数原型
void Mul(LIST *dst, const LIST *src1, const LIST *src2);
说明:参数 dst 为指示目标顺序表的指针,src1 和 src2 分别为指示两个源顺序表的指针。函数将 src1 和 src2 所指两个源顺序表中相同的元素保存到 dst 所指目标顺序表中。
裁判程序
int main()
{
LIST a, b, c;
Create(&a);
Create(&b);
Create(&c);
Input(&a);
Input(&b);
Mul(&c, &a, &b);
Output(&c);
putchar('\n');
Destroy(&c);
Destroy(&b);
Destroy(&a);
return 0;
}
说明:Create 函数用于创建顺序表,Destroy 函数用于销毁顺序表。Input 函数用于输入顺序表:首先输入元素个数,然后输入这些数据元素。Output 函数用于输出顺序表,数据元素之间以空格间隔。