数据结构与算法分析-C语言描述 3.4 交集

题目:给定两个已排序的表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;
}


猜你喜欢

转载自blog.csdn.net/weixin_37378399/article/details/78808424
3.4