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()

代码说明:

  1. Stack 类定义了栈的数据结构和操作方法。
  2. __init__ 方法初始化一个空列表作为栈的存储空间。
  3. push(item) 方法将元素 item 入栈,即添加到列表末尾。
  4. pop() 方法弹出栈顶元素,即删除并返回列表末尾元素。
  5. peek() 方法返回栈顶元素,但不改变栈的结构。
  6. size() 方法返回栈的长度,即列表中元素的个数。
  7. is_empty() 方法判断栈是否为空,如果为空则返回 True,否则返回 False
  8. exit() 方法模拟程序退出。

运行结果:

运行上述代码,将依次执行栈的初始化、入栈、查看栈顶元素、出栈等操作,并在控制台输出相应信息。

总结:

本文介绍了如何使用Python实现栈数据结构及其常用操作,并提供了完整的代码示例。栈作为一种重要的数据结构,在计算机科学中有着广泛的应用,例如函数调用栈、表达式求值、浏览器历史记录等。

Python实现栈数据结构及常用操作:入栈、出栈、查看栈顶等

原文地址: https://www.cveoy.top/t/topic/Smd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录