前面学习了列表的基础知识,本着学以致用的原则,就想着如何通过列表来实现数据结构栈和队列。
1.栈结构,其实就是一个后进先出的一个线性表,只能在栈顶压入或弹出元素。用列表表示栈,则向栈中压入元素,可以用列表的append()方法来实现,弹出栈顶元素可以用列表的pop()方法实现。
>>> x=[] #创建一个空列表,此处表示栈
>>> x
[]
>>> x.append('a') #压入元素'a'
>>> x
['a']
>>> x.append('b') #压入元素'b'
>>> x
['a', 'b']
>>> x.pop() #弹出栈顶元素'b'
'b'
>>> x
['a']
>>> x.pop() #弹出栈顶元素'a'
'a'
>>> x
[]
>>> x.pop() #试图对一个空栈做弹出操作,会报异常
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: pop from empty list
2.队列,其实就是一个先进先出的线性表,只能在队首执行删除操作,在队尾执行插入操作。用列表表示队列,可以用append()方法实现在队尾插入元素,用pop(0)方法实现在队首删除元素。
>>> x=[]
>>> x.append('a')
>>>

本文介绍了如何利用Python列表来实现栈和队列的数据结构。栈是一种后进先出(LIFO)的线性表,通过列表的append()方法进行压栈,pop()方法进行弹栈。队列则是先进先出(FIFO),虽然列表原生不支持队列操作,但可以结合append()和pop(0)模拟实现。

3592

被折叠的 条评论
为什么被折叠?



