當(dāng)?shù)却豁?xiàng)服務(wù)時(shí),對(duì)日常生活中的排隊(duì)很熟悉。 隊(duì)列數(shù)據(jù)結(jié)構(gòu)同樣意味著數(shù)據(jù)元素排列在一個(gè)隊(duì)列中。 隊(duì)列的唯一性在于項(xiàng)目添加和刪除的方式。 這些對(duì)象可以放在最后,但從另一端移除。 所以這是先進(jìn)先出的方法。 可以使用python list實(shí)現(xiàn)隊(duì)列,可以使用insert()和pop()方法添加和移除元素。它們沒有插入,因?yàn)閿?shù)據(jù)元素總是添加在隊(duì)列的末尾。
在下面的例子中,我們創(chuàng)建了一個(gè)隊(duì)列類,實(shí)現(xiàn)了先進(jìn)先出方法。 使用內(nèi)置的insert()方法來(lái)添加數(shù)據(jù)元素。
class Queue:
def __init__(self):
self.queue = list()
def addtoq(self,dataval):
# Insert method to add element
if dataval not in self.queue:
self.queue.insert(0,dataval)
return True
return False
def size(self):
return len(self.queue)
TheQueue = Queue()
TheQueue.addtoq("Mon")
TheQueue.addtoq("Tue")
TheQueue.addtoq("Wed")
print(TheQueue.size())
執(zhí)行上面示例代碼,得到以下結(jié)果 -
3
在下面的例子中,我們創(chuàng)建了一個(gè)插入數(shù)據(jù)的隊(duì)列類,然后使用內(nèi)置的pop方法刪除數(shù)據(jù)。參考以下代碼實(shí)現(xiàn) -
class Queue:
def __init__(self):
self.queue = list()
def addtoq(self,dataval):
# Insert method to add element
if dataval not in self.queue:
self.queue.insert(0,dataval)
return True
return False
# Pop method to remove element
def removefromq(self):
if len(self.queue)>0:
return self.queue.pop()
return ("No elements in Queue!")
TheQueue = Queue()
TheQueue.addtoq("Mon")
TheQueue.addtoq("Tue")
TheQueue.addtoq("Wed")
print(TheQueue.removefromq())
print(TheQueue.removefromq())
當(dāng)上面的代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -
Mon
Tue