单链表应用——La∪Lb或La∩Lb

本文探讨如何高效地计算两个有序单链表La和Lb的并集La∪Lb,详细介绍相关算法和实现步骤。
摘要由CSDN通过智能技术生成

求两个有序单链表的并集(La∪Lb)

List Union(List La, List Lb)
{
	List resultList;
	Position pa, pb, pResult;

	assert(La != NULL && Lb != NULL);
	pa = La->Next;
	pb = Lb->Next;
	InitList(&resultList);
	pResult = resultList;

	while(pa && pb)
	{
		if(pa->Data < pb->Data)
		{
			InsertAfter(pa->Data, pResult);
			pa = pa->Next;
			pResult = pResult->Next;
		}
		else if(pa->Data > pb->Data)
		{
			InsertAfter(pb->Data, pResult);
			pb = pb->Next;
			pResult = pResult->Next;
		}
		else
		{
			InsertAfter(pa->Data, pResult);
			pa = pa->Next;
			pb = pb->Next;
			pResult = pResult->Next;
		}
	}

	while(pa)
	{
		InsertAfter(pa->Data, pResult);
		pa = pa->Next;
		pResult = pResult->Next;
	}

	while(pb)
	{
		InsertAfter(pb->Data, pResult);
		pb = pb->Next;
		pResult = pResult->Next;
	}

	r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值