服务器之家

服务器之家 > 正文

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

时间:2021-04-05 00:10     来源/作者:z大酱

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

线性表

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

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

2.线性表的顺序实现

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

?
1
2
3
4
5
# 线性表定义
class lnode(object):
  def __init__(self,last):
    self.data = [none for i in range(100)]
    self.last = last  # 线性表长度12345

2.建立空的顺序表

?
1
2
3
4
5
6
7
8
9
# 1.初始化建立空的线性表
def makeempty(num):
  ptrl = lnode(num)
  return ptrl
 
# 测试建立空的线性表
s = makeempty(10)
print(s.data[0:s.last])
print(s.last)12345678910

测试结果:

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

3.按值查找

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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.插入操作

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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.删除操作

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 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数据结构学习之实现线性表的顺序

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/zhangwei15hh/article/details/78766305

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部

976
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40