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

Python程式設計題31--用列表實現佇列

題目

佇列是一種常見的資料結構,其特點是 先進先出,並且只能從隊尾進隊頭出,也就是說最先放進去的元素,能夠最先取出來。

請使用 列表list 模擬實現佇列的下列操作:

  • push(x) -- 將元素 x 推到佇列的末尾
  • pop() -- 從佇列開頭移除元素
  • peek() -- 返回佇列開頭的元素
  • empty() -- 判斷佇列是否為空
  • size() -- 獲取佇列的長度

說明:假設每次呼叫 pop 和 peek 都能保證佇列不為空。

程式碼實現

class MyQueue:

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

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

    def pop(self):
        self.q.pop(0)

    def peek(self):
        return self.q[0]

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

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

測試過程

if __name__ == '__main__':
    queue = MyQueue()
    queue.push(11)  # 入隊
    queue.push(22)  # 入隊
    print(queue.peek())
    print(queue.size())
    queue.pop()  # 出隊
    print(queue.empty())
    print(queue.peek())
    queue.pop()  # 出隊
    print(queue.size())
    print(queue.empty())

執行程式碼後,得到如下結果:

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