栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
成都创新互联是一家专注于成都网站设计、成都网站制作与策划设计,龙华网站建设哪家好?成都创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:龙华等地区。龙华做网站价格咨询:18982081108栈可以用顺序表实现,也可以用链表实现,这里为了方便就用顺序表实现。
# -*- coding: utf-8 -*- class Stack(object): """栈的实现类""" def __init__(self): self.__items = [] # push(item) 添加一个新的元素item到栈顶 def push(self, item): self.__items.append(item) # pop() 弹出栈顶元素 def pop(self): return self.__items.pop() # peek() 返回栈顶元素 def peek(self): return self.__items[self.size() - 1] # is_empty() 判断栈是否为空 def is_empty(self): return self.__items == [] # size() 返回栈的元素个数 def size(self): return len(self.__items) if __name__ == '__main__': stack = Stack() stack.push(2) stack.push(3) stack.push(4) stack.push(5) tmp = stack.pop() print(tmp) print(stack.peek()) print(stack.size()) print(stack.is_empty())
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。