python 栈和队列(使用list实现)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 栈和队列(使用list实现)相关的知识,希望对你有一定的参考价值。

5.1.1. Using Lists as Stacks

The list methods make it very easy to use a list as a stack, where the last element added is the first element retrieved (“last-in, first-out”). To add an item to the top of the stack, use append(). To retrieve an item from the top of the stack, use pop() without an explicit index. For example:

>>>
>>> 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]

5.1.2. Using Lists as Queues

It is also possible to use a list as a queue, where the first element added is the first element retrieved (“first-in, first-out”); however, lists are not efficient for this purpose. While appends and pops from the end of list are fast, doing inserts or pops from the beginning of a list is slow (because all of the other elements have to be shifted by one).

To implement a queue, use collections.deque which was designed to have fast appends and pops from both ends. For example:

>>>
>>> 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‘])

以上是关于python 栈和队列(使用list实现)的主要内容,如果未能解决你的问题,请参考以下文章

通过List和Vector来实现栈和队列

python的栈和队列的实现代码

python的栈和队列的实现代码

栈和队列 数据结构

[Python] 数据结构--实现顺序表链表栈和队列

栈和队列-第五节:JavaC++Python实现栈和队列