python 链栈及基本操作
生活随笔
收集整理的這篇文章主要介紹了
python 链栈及基本操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鏈棧,即用鏈表實現棧存儲結構
鏈棧的實現思路同順序棧類似,順序棧是將順序表(數組)的一端作為棧低,另一端為棧頂;鏈棧也如此,通常我們將鏈表的頭部作為棧頂,尾部作為棧低,如圖1所示:
將鏈表頭部作為棧頂的一端,可以避免在實現數據"入棧"和"出棧"操作時做大量遍歷鏈表的耗時操作。
鏈表的頭部作為棧頂,意味著:
- 在實現數據入棧操作時,需要將數據從鏈表的頭部插入;
- 在實現數據出棧操作時,需要刪除鏈表頭部的首元節點;
因此,鏈棧實際上就是一個只能采用頭插插入或刪除數據的鏈表。
鏈棧元素入棧
python代碼實現為:
鏈棧元素出棧
實現棧頂元素出棧的python代碼為:
總結
通過采用頭插法操作數據的單鏈表實現了鏈棧結構,這里給出鏈棧的基本操作python完整代碼:
class Node(data):self.data = dataself.next = Noneclass ListStack:def __init__(self):self.head = Nonedef push(self, val):# 頭部插入節點node = Node(val)node.next = self.headself.head = nodedef pop():# 刪除頭節點元素cur = self.headif cur:cur = cur.nextreturn curelse:return -1 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的python 链栈及基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 顺序栈及基本操作
- 下一篇: python 栈排序