python数据结构学习之实现线性表的顺序


Posted in Python onSeptember 28, 2018

本文实例为大家分享了python实现线性表顺序的具体代码,供大家参考,具体内容如下

线性表

1.抽象数据类型表示(ADT)

类型名称:线性表
数据对象集:线性表是n(>=0)个元素构成的有序序列(a1,a2,….,an)
操作集:

2.线性表的顺序实现

1.表示方法:
其中100可以自己规定,last代表线性表的长度

# 线性表定义
class Lnode(object):
  def __init__(self,last):
    self.data = [None for i in range(100)]
    self.last = last  # 线性表长度12345

2.建立空的顺序表

# 1.初始化建立空的线性表
def MakeEmpty(num):
  PtrL = Lnode(num)
  return PtrL

# 测试建立空的线性表
s = MakeEmpty(10)
print(s.data[0:s.last])
print(s.last)12345678910

测试结果:

python数据结构学习之实现线性表的顺序

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

测试结果:

python数据结构学习之实现线性表的顺序

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])

测试结果:

python数据结构学习之实现线性表的顺序

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])

测试结果:

python数据结构学习之实现线性表的顺序

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python的Django框架来制作一个RSS阅读器
Jul 22 Python
python批量制作雷达图的实现方法
Jul 26 Python
Python算法应用实战之栈详解
Feb 04 Python
Python实现多进程共享数据的方法分析
Dec 04 Python
零基础使用Python读写处理Excel表格的方法
May 02 Python
解决.ui文件生成的.py文件运行不出现界面的方法
Jun 19 Python
Django框架orM与自定义SQL语句混合事务控制操作
Jun 27 Python
基于python的列表list和集合set操作
Nov 24 Python
Python中base64与xml取值结合问题
Dec 22 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
在keras中实现查看其训练loss值
Jun 16 Python
pandas按照列的值排序(某一列或者多列)
Dec 13 Python
python实现单链表中删除倒数第K个节点的方法
Sep 28 #Python
使用Python处理BAM的方法
Sep 28 #Python
python版本单链表实现代码
Sep 28 #Python
python实现反转部分单向链表
Sep 27 #Python
python八皇后问题的解决方法
Sep 27 #Python
python判断数字是否是超级素数幂
Sep 27 #Python
Flask实现跨域请求的处理方法
Sep 27 #Python
You might like
第十三节 对象串行化 [13]
2006/10/09 PHP
PHP面向对象概念
2011/11/06 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
php通过排列组合实现1到9数字相加都等于20的方法
2015/08/03 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
js 阻止子元素响应父元素的onmouseout事件具体实现
2013/12/23 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
2017/04/21 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
Python入门篇之编程习惯与特点
2014/10/17 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
Python多进程fork()函数详解
2019/02/22 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
Django windows使用Apache实现部署流程解析
2020/10/12 Python
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
师德师风个人反思
2014/04/28 职场文书
煤矿安全保证书
2015/02/27 职场文书
主持稿开场白
2015/06/01 职场文书
单位更名证明
2015/06/18 职场文书
MySQL的索引你了解吗
2022/03/13 MySQL
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL
如何利用python实现列表嵌套字典取值
2022/06/10 Python