Python 如何用列表實現棧和隊列?


1.棧結構,其實就是一個后進先出的一個線性表,只能在棧頂壓入或彈出元素。用列表表示棧,則向棧中壓入元素,可以用列表的append()方法來實現,彈出棧頂元素可以用列表的pop()方法實現。

 1 >>> x=[]            #創建一個空列表,此處表示棧
 2 >>> x
 3 []
 4 >>> x.append('a')   #壓入元素'a'
 5 >>> x
 6 ['a']
 7 >>> x.append('b')   #壓入元素'b'
 8 >>> x
 9 ['a', 'b']
10 >>> x.pop()         #彈出棧頂元素'b'
11 'b'
12 >>> x
13 ['a']
14 >>> x.pop()         #彈出棧頂元素'a'
15 'a'
16 >>> x
17 []
18 >>> x.pop()         #試圖對一個空棧做彈出操作,會報異常
19 Traceback (most recent call last):
20   File "<stdin>", line 1, in <module>
21 IndexError: pop from empty list

 

2.隊列,其實就是一個先進先出的線性表,只能在隊首執行刪除操作,在隊尾執行插入操作。用列表表示隊列,可以用append()方法實現在隊尾插入元素,用pop(0)方法實現在隊首刪除元素。

>>> x=[]
>>> x.append('a')
>>> x
['a']
>>> x.append('b')
>>> x
['a', 'b']
>>> x.pop(0)
'a'
>>> x.pop(0)
'b'
>>> x.pop(0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: pop from empty list

 


免責聲明!

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



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