python實現順序表可以有兩中形式進行存儲
- 列表
- 元組
其實簡單來說,順序表無非就是操作列表和元組的方法來對順序表進行操作。
實例代碼
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