1. 程式人生 > >數據結構-單向隊列

數據結構-單向隊列

頭部 name 一個 圖片 行操作 分享 emp 分享圖片 return

隊列(queue)

 隊列是只允許在一端進行插入操作,在另外一段進行刪除操作的線性表

 隊列不允許在中間部位進行操作

 先進先出(First In First Out)

技術分享圖片

 enqueue端 添加元素

 dequeue端 刪除元素

以下是 : 單向隊列用 順序表 實現(鏈表也可以)

  

  • Queue() 創建一個空的隊列
  • enqueue(item) 往隊列中添加一個item元素
  • dequeue() 從隊列頭部刪除一個元素
  • is_empty() 判斷一個隊列是否為空
  • size() 返回隊列的大小
class Queue(object):
    ‘‘‘隊列‘‘‘
    def
__init__(self): self.items = [] def is_empty(self): return not self.items def enqueue(self,item): ‘‘‘進隊列‘‘‘ self.items.insert(0,item) # 用insert 一直往頭部添加 先進去的 就會擠到後面 # pop()默認彈出最後一個元素 #O(n) def dequeue(self): ‘‘‘出隊列‘‘‘ return self.items.pop()
def size(self): ‘‘‘隊列大小‘‘‘ return len(self.items) if __name__ == "__main__": q = Queue() q.enqueue("Python") q.enqueue("chan") q.enqueue("Linkin") print(q.size()) print(q.dequeue()) print(q.dequeue()) print(q.dequeue())

技術分享圖片

數據結構-單向隊列