Python实现栈数据结构及常用操作:入栈、出栈、查看栈顶等
Python实现栈数据结构及常用操作:入栈、出栈、查看栈顶等
栈是一种遵循'先进后出'原则的数据结构,本文将使用Python语言实现栈,并演示栈的常用操作。
class Stack:
def __init__(self):
self.stack = []
def push(self, item):
self.stack.append(item)
print('元素 {} 入栈成功'.format(item))
def pop(self):
if self.is_empty():
print('栈已空,无法执行出栈操作')
else:
item = self.stack.pop()
print('元素 {} 出栈成功'.format(item))
return item
def peek(self):
if self.is_empty():
print('栈已空,无法查看栈顶元素')
else:
top = self.stack[-1]
print('栈顶元素为:', top)
return top
def size(self):
print('栈的长度为:', len(self.stack))
return len(self.stack)
def is_empty(self):
if len(self.stack) == 0:
print('栈为空')
return True
else:
print('栈不为空')
return False
def exit(self):
print('程序已退出')
# 测试代码
s = Stack()
s.is_empty()
s.push(1)
s.push(2)
s.push(3)
s.peek()
s.size()
s.pop()
s.pop()
s.pop()
s.is_empty()
s.exit()
代码说明:
Stack类定义了栈的数据结构和操作方法。__init__方法初始化一个空列表作为栈的存储空间。push(item)方法将元素item入栈,即添加到列表末尾。pop()方法弹出栈顶元素,即删除并返回列表末尾元素。peek()方法返回栈顶元素,但不改变栈的结构。size()方法返回栈的长度,即列表中元素的个数。is_empty()方法判断栈是否为空,如果为空则返回True,否则返回False。exit()方法模拟程序退出。
运行结果:
运行上述代码,将依次执行栈的初始化、入栈、查看栈顶元素、出栈等操作,并在控制台输出相应信息。
总结:
本文介绍了如何使用Python实现栈数据结构及其常用操作,并提供了完整的代码示例。栈作为一种重要的数据结构,在计算机科学中有着广泛的应用,例如函数调用栈、表达式求值、浏览器历史记录等。
原文地址: https://www.cveoy.top/t/topic/Smd 著作权归作者所有。请勿转载和采集!