2.1 线性表的类型定义
一个线性表是n个数据元素的有限序列。
(1)结构初始化 InitList(&L) 构造一个空的线性表L。
(2)销毁结构 DestroyList(&L)
(3)引用型操作
(4) 修改型操作
一个算法举例:
假设有两个集合A和B分别用两个线性表LA和LB表示(即:线性表中的数据元素即为集合中的成员),现要求一个新的集合A= A∪B,且以线性表表示。
要求对线性表作如下操作: 扩大线性表LA,将存在于线性表LB中而不存在于线性表LA中的数据元素插入到线性表LA中去。
1 从线性表LB中依次取得每个数据元素:GetElem(LB, i, e )
2 将e的值在线性表LA中进行比较:LocateElem(LA, e, equal( ))
3 若不存在,则插入之。ListInsert(LA, n+1, e)
2.2 线性表的顺序表示和实现
1. 顺序表的定义
把线性表的结点按逻辑顺序依次存放在一组地址连续的存储单元里。
(随机存取的存储结构。只要确定了存储线性表的起始位置,线性表中的任一数据元素可随机存取。)
2. 线性表的动态分配顺序存储结构(动态一维数组)
3. 顺序表的操作
1)初始化操作:构造一个空表。设置表的起始位置、 表长及可用空间。
2)在线性表中指定位置前插入一个元素
3)在线性表中删除第i个元素
顺序存储结构的优缺点:
• 优点
–逻辑相邻,物理相邻
–可随机存取任一元素
–存储空间使用紧凑
• 缺点
–插入、删除操作需要移动大量的元素
–预先分配空间需按最大空间分配,利用不充分
2.3 线性表的链式表示和实现
2.3.1 线性链表
单链表,结点中只含一个指针域的链表
(感觉这课不是很有必要这么发博客,打算直接在pdf做笔记然后更百度网盘了)
标签:LB,线性表,48,LA,元素,插入,Algorithms,随机存取 From: https://www.cnblogs.com/sihangao/p/17908474.html