线性表的抽象数类型

 对于不同的应用,线性表的基本操作是不同的,上述操作是最基本的,对于实际问题中涉及关于线性标的更复杂操作,完全可以用这些操作的组合来实现。

比如,要实现两个线性表集合A和B的并集操作。即要使得集合A=A并B。说白了,就是把存在集合B中但不存在集合A中的数据元素插入A中即可

仔细分析一下这个操作,发现我们只要循环集合B中的每个元素,判断当前元素是否存在集合A中,若不存在,则插入A中即可。思路应该是很容易想到的。

我们假设La表示集合A,Lb表示集合B,则实现的代码如下

void unionL(List *La,List Lb)/*将所有的在线线性表Lb中但不在La中的数据元素插到La中*/
{
	int La_len,Lb_len,i;
	ElemType e;/*声明与La和Lb相同的数据类型*/
	La_len=ListLength(*La);/*求线性表的长度*/
	Lb_len=ListLength(Lb);
	for(i=1;i<=Lb_len;i++){
		GetElem(Lb,i,&e);/*取Lb中第i个数据类型赋给e*/
		if(!LocateElem(*La,e)){/*La中不存在和e相同数据元素*/
			ListInsert(La,++La_len,e);/*插入*/
		}
	}
 } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值