當(dāng)?shù)却豁椃?wù)時,對日常生活中的排隊很熟悉。 隊列數(shù)據(jù)結(jié)構(gòu)同樣意味著數(shù)據(jù)元素排列在一個隊列中。 隊列的唯一性在于項目添加和刪除的方式。 這些對象可以放在最后,但從另一端移除。 所以這是先進(jìn)先出的方法。 可以使用python list實現(xiàn)隊列,可以使用insert()
和pop()
方法添加和移除元素。它們沒有插入,因為數(shù)據(jù)元素總是添加在隊列的末尾。
在下面的例子中,我們創(chuàng)建了一個隊列類,實現(xiàn)了先進(jìn)先出方法。 使用內(nèi)置的insert()
方法來添加數(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)建了一個插入數(shù)據(jù)的隊列類,然后使用內(nèi)置的pop
方法刪除數(shù)據(jù)。參考以下代碼實現(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í)行時,它會產(chǎn)生以下結(jié)果 -
Mon
Tue