隊也是程式設計開發中常見的一種資料結構。棧和隊可用來模擬函式的遞迴過程。隊的特點為先入先出,主要操作包括入隊和出隊。入隊時需判斷隊是否已滿,出隊時需判斷隊是否為空。下面給出乙個隊的python實現的例子:
classqueue(object):
def__init__(self, size = 8):
self.queue =
self.size =size
self.front =0
self.rear = -1
defisfull(self):
return true if self.rear == self.size - 1 else
false
defisempty(self):
return true if self.rear == -1 else
false
defpush(self, data):
ifself.isfull():
raise exception("
queueoverflow")
self.rear += 1
defpop(self):
ifself.isempty():
raise exception("
queueisempty")
self.rear -= 1
return
self.queue.pop(self.front)
deffirst(self):
return
self.queue[self.front]
deflast(self):
return
self.queue[self.rear]
defshow(self):
print self.queue
python資料結構之佇列
一 介紹 1 可以把列表當做佇列用,只是在佇列裡第一加入的元素,第乙個取出來。2 拿列表用作這樣的目的效率不高。在列表的最後新增或者彈出元素速度快,然而在列表裡插入或者從頭部彈出速度卻不快 因為所有其他的元素都得乙個乙個地移動 二 應用內建的佇列模組 from collections import ...
基礎資料結構之佇列題型
佇列是一種先進先出的資料結構。蚯蚓 雙端佇列 單調佇列顧名思義,和單調棧一樣,儲存一堆單調遞增的資料。不同的是,單調佇列需要從最前面的元素開始操作,單調棧需要從最後面的元素進行操作。最大子序和 經典題型 題目讓求連續的序列和,多半要用到字首和。使用字首和,問題就轉化成了對於位置i,求出最小字首和s ...
python資料結構之佇列(queue)
佇列是一種特殊的線性表,先進先出,只允許在前端進行刪除,在後端進行插入操作,它的操作方式與堆疊類似,區別在於佇列只允許在後端插入資料。在python中有相應的類 import queue q queue.queue for i in range 4 q.put i 將乙個值放入佇列中 while n...