Python实现顺序表
生活随笔
收集整理的這篇文章主要介紹了
Python实现顺序表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
計算機內存是一個連續的存儲空間
上面的一個字節正好是一行,也就是8位。a=1占了4個存儲單位,不同類型,占的存儲單元不一樣,如下所示:
代碼測試如下:
#創建順序表 class Sequence_Table():#初始化def __init__(self):self.date = [None]*100 #占位了100個#print(type(self.date)) #<class 'list'>self.length = 0#判斷占位是否滿了def isFull(self):if self.length>100:print("該順序表已滿,無法添加元素")return 1else:return 0#按下標索引查找def selectByIndex(self,index):if index >=0 and index<=self.length-1:return self.date[index]else:print("你輸入的下標不對,請重新輸入\n")return 0#按元素查下標def selectByNum(self,ele):isContain = 0for i in range(0,self.length):if self.date[i] == ele:isContain = 1print("你查找元素的下標是%d\n"%i)if isContain == 0:print("沒有你要的數據")#追加元素def addNum(self,num):if self.isFull() == 0:self.date[self.length] = numself.length += 1#打印順序表def printAllNum(self):for i in range(self.length):print("a[%s]=%s"% (i,self.date[i]),end=" ")print("\n")#按下標插入數據 保序的元素插入def insertNumByIndex(self,num,index):if index<0 and index>self.length:return 0self.length+=1#從最后倒序到插入位置index(不包括下標index)需要將元素后移。for i in range(self.length-1,index,-1):temp = self.date[i]self.date[i] = self.date[i-1]self.date[i-1] = tempself.date[index] = numreturn 1#按下標刪除元素 保序的元素刪除def deleteNumByIndex(self,index):if self.length <=0:print("該順序表內沒有數據,不用刪除!")# 從index位置到最后將元素后移,保序的元素刪除for i in range(index,self.length-1):temp = self.date[i]self.date[i] = self.date[i + 1]self.date[i+1] = tempself.date[self.length-1] = 0 #刪除一個最后的元素賦值為0self.length -= 1 #刪除一個元素總長度減1 def main():#創建順序表對象seq_t = Sequence_Table()#插入3個元素seq_t.addNum(1)seq_t.addNum(2)seq_t.addNum(3)#打印驗證seq_t.printAllNum()#按照索引查找num = seq_t.selectByIndex(2)print("你要查找的數據是%d\n" % num)#按照索引插入數據seq_t.insertNumByIndex(4,1)seq_t.printAllNum()#按照數字查下標seq_t.selectByNum(4)#刪除數據seq_t.deleteNumByIndex(1)seq_t.printAllNum() if __name__ == "__main__":main() 參考資料:https://www.cnblogs.com/Se7eN-HOU/p/11086749.html網上的教程
?
?
總結
以上是生活随笔為你收集整理的Python实现顺序表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python算法与数据结构-顺序表(39
- 下一篇: 老万的java技术书单:你还在吃快餐吗?