栈的python实现
Posted pycoder_hsz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了栈的python实现相关的知识,希望对你有一定的参考价值。
栈,又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。
向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
栈按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。
特点:后进先出
python代码实现如下:
class Stack(object): # 栈的初始化 def __init__(self): self.items = [] # 判断栈是否为空 def is_empty(self): return self.items == [] # 添加一个元素到栈中[入栈] def push(self, item): self.items.append(item) # 删除栈中的一个元素[出栈] def pop(self): if self.items: self.items.pop() else: raise LookupError("stack is empty") # 返回栈的顶部元素[最新元素] def top(self): return self.items[-1] # 返回栈的元素的个数 def size(self): return len(self.items) stack = Stack()
以上是关于栈的python实现的主要内容,如果未能解决你的问题,请参考以下文章