Python Stack 堆栈 数据结构

发布于 2022-02-02 13:11:49 字数 658 浏览 1056 评论 0

使用数组实现栈(使用 Python 的 list 实现):

class Stack:
  def __init__(self):
    self.data = []

s1 = Stack()
s1.push(1)
s1.push(2)

push(item) —— 向栈顶添加元素

def push(self, item):
  self.data.append(item)

pop() —— 弹出栈顶的元素,若栈为空则报错

def pop(self):
  if self.data:
    return self.data.pop()
  else:
    raise PopError("Pop from empty stack.")

peek() —— 返回栈顶的元素(但是不弹出),若栈为空则报错

def peek(self):
  if self.data:
    return self.data[-1]
  else:
    raise IndexError("Stack is empty.")

size() —— 返回栈的长度

is_empty() —— 判断栈是否为空

介绍

栈也叫堆栈(这里面的堆不是数据结构的堆)栈满足 后进先出 LIFO 的原则,时间复杂度:压栈、出栈都是 O(1)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

醉城メ夜风

文章 0 评论 0

远昼

文章 0 评论 0

平生欢

文章 0 评论 0

微凉

文章 0 评论 0

Honwey

文章 0 评论 0

qq_ikhFfg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文