基礎資料結構 之 佇列(python實現)

2022-04-29 12:09:14 字數 911 閱讀 3750

隊也是程式設計開發中常見的一種資料結構。棧和隊可用來模擬函式的遞迴過程。隊的特點為先入先出,主要操作包括入隊和出隊。入隊時需判斷隊是否已滿,出隊時需判斷隊是否為空。下面給出乙個隊的python實現的例子:

class

queue(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...