栈是一种操作受限的数据结构,只支持入栈和出栈操作。后进先出是它最大的特点。栈既可以通过数组实现,也可以通过链表来实现。不管基于数组还是链表,入栈、出栈的时间复杂度都为O(1)。
# 用列表实现栈 class stackTest: def __init__(self,len): self.len=len self.dataList=[] def push(self,num): if len(self.dataList)<self.len: self.dataList.append(num) else: print("栈已满,无法插入数据") def pop(self): if len(self.dataList)>0: a=self.dataList[len(self.dataList)-1] self.dataList.remove(self.dataList[len(self.dataList) - 1]) return a else: print("栈已空,无法弹出数据") def itor(self): print(self.dataList) if __name__ == '__main__': stackTest=stackTest(5) stackTest.push(2) stackTest.push(3) stackTest.push(4) stackTest.itor() print(stackTest.pop()) stackTest.itor()