Python 通过list实现栈和队列
我们可以直接通过定义一个list中内置的函数来实现栈和队列的功能,无需去构建一个单独的函数或者对象。可实现先进后出
1. 栈的实现
把list的尾部当成是栈顶,取数据和输入数据都在list的(即栈顶)进行。
使用到的list函数:
- list.append(obj):在列表末尾添加新的对象
- list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
实现入栈:
>>> list=[1,2,5,6,9,48]
>>> list.append(3)
>>> list
[1, 2, 5, 6, 9, 48, 3]
实现出栈:
>>> a=list.pop()
>>> list
[1, 2, 5, 6, 9, 48]
>>> a
3
查看栈顶元素:
>>> b=list[-1]
>>> b
48
2. 队列的实现
把list尾部当初是队首,list的头部当成是队尾。取数据在list尾部(即对首)进行,存数据在list头部(即队尾)进行。可实现先进先出
使用到的list函数:
- list.insert(index, obj):将对象插入到列表中指定的index的索引位置
- list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
实现入队
>>> list=[1,2,5,6,9,48]
>>> list.insert(0,3)
>>> list
[3,1, 2, 5, 6, 9, 48]
实现出队:
>>> c=list.pop()
>>> list
[3,1, 2, 5, 6, 9]
>>> c
48