(一)隊列的基本結(jié)構(gòu)
隊列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)(特殊的線性結(jié)構(gòu)),在隊列尾部插入新元素,在隊列頭部刪除元素。

一般隊列的基本操作如下:
-
create:創(chuàng)建空隊列。
-
enqueue:將新元素加入隊列的尾部,返回新隊列。
-
dequeue:刪除隊列頭部元素,返回新隊列。
-
front:返回隊列頭部的元素值。
-
isempty:判斷隊列是否為空,若隊列為空,返回True,否則返回False。
-
length:返回隊列的長度。
隊列基本操作可以通過列表或python中封裝的queue類模塊進(jìn)行實現(xiàn)。
(二)隊列的實現(xiàn)
(1)列表形式
利用列表來模擬隊列的基本操作,列表的appen()方法相當(dāng)于入隊,在隊列尾部插入一個新元素,pop()方法相當(dāng)于出隊,刪除隊列頭部的元素。其實現(xiàn)代碼如下:
class queue:
def __init__(self):
self.list = []
# 入隊
def enqueue(self, item):
self.list.append(item)
# 出隊
def dequeue(self):
self.list.pop(0)
# 判斷是否為空
def isempty(self):
return len(self.list) == 0
# 隊列長度
def length(self):
return len(self.list)
# 打印隊列
def print_queue(self):
print(self.list)
# 從隊頭元素開始打印隊列
def print_element(self):
for i in self.list:
print(i)
q = queue()
print('隊列是否為空:', q.isempty())
q.enqueue('a')
q.enqueue('b')
q.enqueue('c')
q.print_queue()
q.dequeue()
q.print_element()
print('隊列長度為:', q.length())
(2)queue模塊
Python的queue類模塊中提供了一種先進(jìn)先出的隊列類型Queue,同時在創(chuàng)建隊列的過程中,隊列的長隊既可以限制也可以不限制,在創(chuàng)建隊列時利用Queue(maxsize=0),maxsize小于等于0時,表示隊列的長度不受限制,否則表示限制。Queue主要有以下幾種方法:
put():在隊列尾部添加元素。
get():從隊列頭部取出元素,返回隊列頭部元素。
empty():判斷隊列是否為空。
full():判斷隊列是否達(dá)到最大長度限制。文章來源:http://www.zghlxwxcb.cn/news/detail-642747.html
qsize():返回隊列當(dāng)前長度。文章來源地址http://www.zghlxwxcb.cn/news/detail-642747.html
from queue import Queue
q = Queue(maxsize=0)? ? # 創(chuàng)建隊列
q.put(1) # 入隊
q.put(2) # 入隊
print(q.queue)
q.get() # 出隊
print(q.queue)
print('隊列長度:', q.qsize())
print('隊列是否為空:', q.empty())
print('隊列是否為滿:', q.full())
到了這里,關(guān)于數(shù)據(jù)結(jié)構(gòu):隊列(Python語言實現(xiàn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!