数据结构学习之线性表的顺序实现(python 实现)
来源:互联网 发布:yii2开源cms推荐 编辑:程序博客网 时间:2024/04/27 19:03
线性表
1.抽象数据类型表示(ADT)
类型名称:线性表
数据对象集:线性表是n(>=0)个元素构成的有序序列(a1,a2,….,an)
操作集:
2.线性表的顺序实现
- 表示方法:
其中100可以自己规定,last代表线性表的长度
# 线性表定义class Lnode(object): def __init__(self,last): self.data = [None for i in range(100)] self.last = last # 线性表长度
2.建立空的顺序表
# 1.初始化建立空的线性表def MakeEmpty(num): PtrL = Lnode(num) return PtrL# 测试建立空的线性表s = MakeEmpty(10)print(s.data[0:s.last])print(s.last)
测试结果:
3.按值查找
# 2.查找给定值的位置def Find(x, L): i =0 while(i <= L.last and L.data[i] != x): i+=1 if(i> L.last): return -1 else: return i# 测试查找函数num = [0,1,2,3,4,5,6,7,8,9]L = Lnode(10)for i in range(10): L.data[i] = num[i]print("建立新的线性表")print(L.data[0:L.last])print("查找元素2")print("下标为:")print(Find(2,L))print("查找元素12")print("下标为:")print(Find(12,L)) # 找不到返回-1
测试结果:
4.插入操作
# 3.插入(在第i(0<=i<=n)位置上插入一个值为x的新元素)def Insert(x,i,L): if i<0 or i>L.last: print("位置不合理") return else: for j in range(L.last,i-1,-1): L.data[j+1] = L.data[j] L.data[i] = x L.last+=1 return# 测试插入函数num = [0,1,2,3,4,5,6,7,8,9]L = Lnode(10)for i in range(10): L.data[i] = num[i]print("建立新的线性表")print(L.data[0:L.last])print("在位序3插入元素6")Insert(6,3,L)print(L.data[0:L.last])
测试结果:
5.删除操作
# 4.删除第i(0<=i<=n-1)个位置上的元素def Delete(i,L): if i<0 or i>=L.last: print("不存在该元素") return else: for j in range(i,L.last-1): L.data[j] = L.data[j+1] L.last -=1 return# 测试删除函数num = [0,1,2,3,4,5,6,7,8,9]L = Lnode(10)for i in range(10): L.data[i] = num[i]print("建立新的线性表")print(L.data[0:L.last])print("删除位序3的元素")Delete(3,L)print(L.data[0:L.last])
测试结果:
阅读全文
0 0
- 数据结构学习之线性表的顺序实现(python 实现)
- 数据结构线性表之顺序表实现
- 数据结构之线性表顺序实现
- 数据结构学习-线性表-顺序表的代码实现
- 数据结构之---c语言实现线性表的顺序表
- [数据结构]线性表之顺序表的类模板实现
- 数据结构之:线性表的顺序表示和实现
- 数据结构之线性表的顺序表示和实现
- 数据结构学习之路-第二章:线性表的顺序表示与实现
- 数据结构线性表顺序结构的实现
- 数据结构---线性表的顺序实现
- 数据结构->线性表的顺序实现 ATD
- 数据结构线性表的顺序实现1
- 数据结构实现顺序线性表
- 数据结构--线性表顺序实现
- 【python】python数据结构(一)——线性表:顺序表的实现
- 数据结构JAVA实现线性表之顺序表
- 数据结构(3)线性表之顺序表C++实现
- 排序算法之快速排序
- UVA557(概率)
- DIV居中
- elasticsearch-持久化存储
- EXCEL完成一个柱形图与折线图组合图表
- 数据结构学习之线性表的顺序实现(python 实现)
- 兄弟连学python(01)——python 简单的循环用法
- 世界上第一个高级语言——FORTRAN
- 嵌入式项目1--嵌入式软件组代码规范
- C# WindowForm 三句话实现简单计算器
- 关于nodejs作为系统中间件的理解
- Nginx配置端口转发 映射 以及连接超时问题
- 润乾报表 dql分析页面如何为字段设置编辑风格
- 蚁群算法MATLAB程序