数据结构-线性表的顺序表示(王卓老师的学习笔记)

1.顺序存储表示

在这里插入图片描述

2.基本操作的实现

补充:操作算法中的预定义常量和类型

在这里插入图片描述

InitList(&L) 初始化

!是逻辑非运算
!是逻辑非运算

DestroyList(&L) 销毁

在这里插入图片描述

ClearList(&L) 清空

在这里插入图片描述

Listinsert(&L,i,e) 第i个位置插入新元素e

在这里插入图片描述
如果有n个元素,我们可以插入下表为0-n+1的位置上
算法思想:分成五步走在这里插入图片描述
下面来看看伪代码,主要看第三步,若最后是第n个元素,则他的下标是n-1,
循环从n-1开始也就是length-1,往回减,减到下表为i-1的地方。也就是说先把最后一个元素往后移,
然后依次往后移倒数第二个,倒数第三个等等。
在这里插入图片描述
在这里插入图片描述

ListDelete(&L,i,&e) 删除第i个位置的元素,并返回e

删除算法演示:在这里插入图片描述
跟插入大同小异
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

IsEmpty(L) 若为空返回true,否则返回false

在这里插入图片描述

ListLength(L) 返回元素个数

LocateElem(L,e) 查找与给定值e相等的元素,若成功返回该元素在表中的序号,否则返回0

1.查找算法的基本操作为:将记录的关键字同给定值进行比较
在这里插入图片描述
2.平均查找长度 ASL
在这里插入图片描述
Pi:第i个记录被查找的概率 Ci:找到第i个记录需要比较的次数
总概率就等于Pi×ASL=(n+1)/2(如图所示)
在这里插入图片描述

GetElem(L,i,&e) 将表中第i个位置的元素返回给e

3.小结

1.顺序表的操作算法分析:在这里插入图片描述
2.优缺点
在这里插入图片描述
为了克服这些缺点,我们要开始学习链表!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值