栈与队列
概念:栈,也称为堆栈,是一种容器,可存入数据元素,访问元素、删除元素。它的特点在于只能允许在容器的一段进行加入数据和输出数据的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。
原理运作:后进先出
队列
队列是只允许在一段进行插入操作,而在另一端进行删除操作的列表。
队列是一种先进先出的线性表。允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!
栈的实现
栈可以用顺序表或链表实现
-
压栈(入栈)
-
出栈
class Stack(object):
def __init__(self):
self.__List=[] #将list设为私有属性
def push(self,item):
self.__List.append(item) #选择在尾部压栈时间复杂度低
def pop(self):
return self.__List.pop()
def peek(self):
if self.__List:
return self.__List[-1]
else:
return self.__List&#