1. 程式人生 > 其它 >Python程式設計題30--用列表實現棧

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
作者:wintest 出處:https://www.cnblogs.com/wintest 本文版權歸作者和部落格園共有,歡迎轉載,但必須在文章頁面明顯位置給出原文連結,並保留此段宣告,否則保留追究法律責任的權利。