栈(stack):又称为堆栈或堆叠,是计算机科学中的一种抽象数据类型,只允许在有序的线性数据集合的一端(称为堆栈顶端top)进行加入数据(push)和移除数据(pop)的运算。按照后进先出(LIFO, Last In First Out)的原理运作。
Python中没有Stack类,需要自定义。
自定义栈类:
class Stack(object):
def __init__(self): #初始化空栈
self.items = []
def isEmpty(self): #是否为空
return self.items == []
def push(self, item): #入栈
self.items.append(item)
def pop(self): #出栈
return self.items.pop()
def peek(self): #查看栈顶元素
return self.items[len(self.items)-1]
def size(self): #查看栈的大小
return len(self.items)
def clear(self): #清空栈
self.items = []
#当前对象的表现形式,此法给python解释器运行
def __repr__(self):
return 'Stack_' + str(sel