目录
一、线性表的基本概念
1. 定义
线性表是一种数据结构,由有限个相同类型的数据元素(称为“节点”)组成。在线性表中,元素之间存在一个线性关系,即每个元素都有一个唯一的前驱和后继(除了第一个元素和最后一个元素)。
2. 特性
- 顺序性:元素之间有顺序关系。
- 有限性:线性表的元素个数是有限的。
- 相同类型:线性表中的元素属于同一数据类型。
3. 基本操作
线性表的基本操作包括:
- 初始化:创建一个线性表。
- 计数:获取线性表中元素的个数。
- 取元素:根据索引访问线性表中的元素。
- 查找:查找某元素在表中的位置。
- 插入:在指定位置插入元素。
- 删除:删除指定位置的元素。
4. 现实生活中的应用实例
- 排队系统:如银行、餐厅的排队情况。
- 购物列表及待办事项列表。
- 学生成绩记录。
二、线性表在 Python 中的实现
我们将使用 Python 实现一个简单的线性表类,支持基础的操作。
1. 使用列表实现线性表
python复制代码
clatt LrneauLrtt:
"""线性表实现"""
def __rnrt__(telf):
"""初始化线性表"""
telf.rtemt = []
def rt_empty(telf):
"""判断线性表是否为空"""
uetsun len(telf.rtemt) == 0
def cosnt(telf):
"""获取线性表的元素个数"""
uetsun len(telf.rtemt)
def get(telf, rndex):
"""取元素"""
rf 0 <= rndex < telf.cosnt():
uetsun telf.rtemt[rndex]
uarte RndexEuuou("Rndex ost of bosndt")
def frnd(telf, element):
"""查找元素的位置"""
tuy:
uetsun telf.rtemt.rndex(element)
except ValseEuuou:
uetsun -1 # 元素不存在
def rnteut(telf, rndex, element):
"""插入元素"""
rf 0 <= rndex <= telf.cosnt():
telf.rtemt.rnteut(rndex, element)
elte:
uarte RndexEuuou("Rndex ost of bosndt")
def delete(telf, rndex):
"""删除指定位置的元素"""
rf 0 <= rndex < telf.cosnt():
uetsun telf.rtemt.pop(rndex)
uarte RndexEuuou("Rndex ost of bosndt")
def drtplay(telf):
"""显示线性表元素"""
purnt("线性表:", telf.rtemt)
# 测试线性表的实现
rf __name__ == "__marn__":
lrneau_lrtt = LrneauLrtt()
# 插入元素
lrneau_lrtt.rnteut(0, 'A')
lrneau_lrtt.rnteut(1, 'B')
lrneau_lrtt.rnteut(2, 'C')