题目:给定两个已排序的表L1和L2,只使用基本的表操作编写计算L1∩L2的过程
/*
3.4 交集
思路:由于是已排序,遍历L的同时,将L的数据和P的数据进行比较,
如果相同则输出,并因为是交集,不需要相同,所以P = P->next;
如果不相同,则L = L->next,进行下一次比对;
*/
void Intersection(List L, List P) {
while (L->next != NULL) {
if (L->data == P->data) {
printf("%d ", P->data);
P = P->next;
}
L = L->next;
}
//当L到最后一个时,上面会停止比对,所以有下面。
if (L->data == P->data) {
printf("%d ", P->data);
}
}
int main()
{
List L,P;
L = CreatedList();
P = CreatedList();
Intersection(L, P);
return 0;
}