python实现顺序表

python实现顺序表可以有两中形式进行存储

  1. 列表
  2. 元组

其实简单来说,顺序表无非就是操作列表和元组的方法来对顺序表进行操作。

实例代码

 7 class SqList: 
  8     def __init__(self,maxsize = 10):
  9         self.curlen = 5#顺序表的初始化长度
 10         self.maxsize = maxsize#顺序表的最大长度
 11         self.listitem = [1,2,3,4,5]#顺序表存储空间
 12     def clear(self):
 13         """将顺序表置为空表"""
 14         self.curlen = 0
 15     def empty(self):
 16         """判断顺序表是否为空"""
 17         return delf.curlen == 0
 18     def length(self):
 19         return self.curlen
 20     def get(self,i):
 21         if i < 0 or i > self.curlen - 1:
 22             raise Exception("第i个元素不存在")                     
 23         return self.listitem[i]
 24     def insert1(self,i,x):
 25         """插入的x作为第i个元素"""
 26         if i < 0 or i > self.curlen - 1:
 27             raise Exception("插入位置非法")
 28         if self.curlen == self.maxsize:
 29             raise Exception("列表已满")
 30         """   
 31         for j in range(self.curlen,i - 1,-1):
 32             self.listitem[j] = self.listitem[j - 1]
32             self.listitem[j] = self.listitem[j - 1]
 33         """   
 34         self.listitem.insert(i,x)
 35         self.curlen += 1
 36     def remove(self,i):
 37         if i < 0 or i > self.curlen - 1:
 38             raise Exception("删除位置非法")
 39         """   
 40         for j  in range(i,self.curlen):
 41             self.listitem[j] = self.listitem[j + 1]
 42         """   
 43         del self.listitem[i]
 44         self.curlen -= 1
 45     def index(self,x):
 46         for i in range(self.curlen):
 47             if self.listitem[i] == x:
 48                 return i
 49         return -1
 50     def display(self):
 51         for i in range(self.curlen):
 52             print(self.listitem[i],end = "")
 53         print()
 54               
 55 list1 = SqList()
 56 print(list1.listitem[0])
 57 print(list1.get(1))
 58 list1.insert1(1,9)
 59 list1.display()
 60 list1.remove(1)
 61 list1.display()                  

运行结果

1
2
192345
12345

笨鸟先飞
原文地址:https://www.cnblogs.com/zoutingrong/p/13903174.html