Python 如何用列表實現棧和隊列?
阿新 • • 發佈:2018-10-25
pen 彈出 module trace 執行 方法 ace 元素 異常
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> 21IndexError: 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
Python 如何用列表實現棧和隊列?