240
生活,简单就好!

Python编程题30--用列表实现栈

题目

栈是一种常见的数据结构,其特点是 先进后出,也就是说最先放进去的元素,需要到最后才能取出来。

请使用 列表list 模拟实现栈的下列操作:

  • push(x) -- 将元素 x 压入栈顶
  • pop() -- 移除栈顶元素
  • top() -- 获取栈顶元素
  • empty() -- 判断栈是否为空
  • size() -- 获取栈的长度

说明:假设每次调用 pop 和 top 都能保证栈不为空。

代码实现

class MyStack:

    def __init__(self):
        self.s = []

    def push(self, x):
        self.s.append(x)

    def pop(self):
        self.s.pop()

    def top(self):
        return self.s[-1]

    def empty(self):
        return self.s == []

    def size(self):
        return len(self.s)

测试过程

if __name__ == '__main__':
    stack = MyStack()
    stack.push(11)  # 入栈
    stack.push(22)  # 入栈
    print(stack.top())
    print(stack.size())
    stack.pop()  # 出栈
    print(stack.empty())
    print(stack.top())
    stack.pop()  # 出栈
    print(stack.size())
    print(stack.empty())

执行代码后,得到如下结果:

22
2
False
11
0
True

更多Python编程题,等你来挑战:Python编程题汇总(持续更新中……)

posted @ 2021-11-27 11:49  wintest  阅读(282)  评论(0编辑  收藏  举报