在Python中,你可以使用列表(list)来模拟栈的行为。下面是一个简单的栈实现,包括压栈(push)、弹栈(pop)、查看栈顶素(peek)、判断栈是否为空(is_empty)以及获取栈的大小(size)等操作:
python
class Stack(object):
def __init__(self):
self.items = [] 初始化栈为空列表
def is_empty(self):
return self.items == [] 判断栈是否为空
def peek(self):
return self.items[-1] if not self.is_empty() else None 返回栈顶素
def size(self):
return len(self.items) 返回栈的大小
def push(self, item):
self.items.append(item) 把新的素堆进栈里面
def pop(self):
return self.items.pop() if not self.is_empty() else None 把栈顶素丢出去
使用示例
if __name__ == "__main__":
my_stack = Stack()
my_stack.push('h')
my_stack.push('a')
print(my_stack.size()) 输出:2
print(my_stack.peek()) 输出:'a'
print(my_stack.pop()) 输出:'a'
print(my_stack.is_empty()) 输出:False
这个栈实现使用了Python的内建`list`数据结构,通过`append`方法实现压栈,通过`pop`方法实现弹栈。`peek`方法返回栈顶素但不移除它,`is_empty`方法检查栈是否为空,`size`方法返回栈中素的数量。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/69525.html