数据结构教程--李春葆版(总结)之线性表-顺序存储结构练习题

本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。

例2.2】假设有两个集合A和B,分别用两个线性表LA和LB表示,即线性表中的数据元素为集合中的元素。利用线性表的基本运算编写一个算法求一个新的集合C=AUB,即将两个集合的并集放在线性表LC中。

void unionList(List LA,List LB,List &C)

{
int lena,i;
ElemType e;
InitList(LC);//第一步:初始化LC表
for(i=1;i<=ListLength(LA),i++)//第二步,把LA表复制到Lc表中
{
GetElem(LA,i,e);
ListInsert(LC,i,e);
}
for(i=1;i<=ListLength(LB),i++)//第三步,扫描LB表与LC表对比,判断是否存在相同的元素。
{
GetElem(LB,i,e);
if(!LocateElem(LA,e))//若存在相同的元素e,则不复制该元素到LC表尾中。若无,则复制到LC表中。
ListInset(LC,++lena,e);
}
}

【例2.3】假设一个线性表采用顺序表表示,设计一个算法,删除其中所有值等于x的元素。要求算法的时间复杂度为O(n),空间复杂度O(1)。

解法一:

void delnodel(SqL
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值