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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM