Python數據結構實戰——隊列(Queue)

1.隊列的性質(先進先出)

wmt_stock_price_queue = []
wmt_stock_price_queue.insert(0, 131.10)
wmt_stock_price_queue.insert(0, 132.12)
wmt_stock_price_queue.insert(0, 135)
wmt_stock_price_queue

在這裏插入圖片描述

wmt_stock_price_queue.pop()
wmt_stock_price_queue.pop()
wmt_stock_price_queue.pop()
wmt_stock_price_queue.pop()

在這裏插入圖片描述

2.使用deque作爲隊列

q = deque()
q.appendleft(5)      #在隊列的左邊添加元素, 滿足先進先出
q.appendleft(8)
q.appendleft(10)
q

在這裏插入圖片描述

q.pop()
q.pop()
q.pop()
q.pop()

在這裏插入圖片描述

3.使用雙端隊列實現Queue類

from collections import deque

class Queue:
    
    def __init__(self):
        self.buffer = deque()
    
    def enqueue(self, val):
        self.buffer.appendleft(val)
        
    def dequeue(self):
        return self.buffer.pop()
    
    def is_empty(self):
        return len(self.buffer) == 0
    
    def size(self):
        return len(self.buffer)

pq = Queue()
pq.enqueue({
    'company': 'Wall Mart',
    'timestamp': '15 apr, 11.01 AM',
    'price': 131.10
})
pq.enqueue({
    'company': 'Wall Mart',
    'timestamp': '15 apr, 11.02 AM',
    'price': 132
})
pq.enqueue({
    'company': 'Wall Mart',
    'timestamp': '15 apr, 11.03 AM',
    'price': 135
})

pq.buffer

在這裏插入圖片描述

pq.size()
pq.dequeue()
pq.dequeue()

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章