python數據結構之棧、隊列的實現


這個在官網中list支持,有實現。

補充一下棧,隊列的特性:

1.棧(stacks)是一種只能通過訪問其一端來實現數據存儲與檢索的線性數據結構,具有后進先出(last in first out,LIFO)的特征

2.隊列(queue)是一種具有先進先出特征的線性數據結構,元素的增加只能在一端進行,元素的刪除只能在另一端進行。能夠增加元素的隊列一端稱為隊尾,可以刪除元素的隊列一端則稱為隊首。

地址在 http://docs.python.org/2/tutorial/datastructures.html#more-on-lists ,下面的官方的代碼。

關於棧
>>>
stack = [3, 4, 5] >>> stack.append(6) >>> stack.append(7) >>> stack [3, 4, 5, 6, 7] >>> stack.pop() 7 >>> stack [3, 4, 5, 6] >>> stack.pop() 6 >>> stack.pop() 5 >>> stack [3, 4]

關於隊列
>>> from collections import deque
>>> queue = deque(["Eric", "John", "Michael"])
>>> queue.append("Terry")           # Terry arrives
>>> queue.append("Graham")          # Graham arrives
>>> queue.popleft()                 # The first to arrive now leaves
'Eric'
>>> queue.popleft()                 # The second to arrive now leaves
'John'
>>> queue                           # Remaining queue in order of arrival
deque(['Michael', 'Terry', 'Graham'])

上面代碼很清晰的解釋了上面的2種結構



 


免責聲明!

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



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