python雙端隊(duì)列原理、實(shí)現(xiàn)與使用方法分析
本文實(shí)例講述了python雙端隊(duì)列原理、實(shí)現(xiàn)與使用方法。分享給大家供大家參考,具體如下:
雙端隊(duì)列
雙端隊(duì)列(deque,全名double-ended queue),是一種具有隊(duì)列和棧的性質(zhì)的數(shù)據(jù)結(jié)構(gòu)。
雙端隊(duì)列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進(jìn)行。雙端隊(duì)列可以在隊(duì)列任意一端入隊(duì)和出隊(duì)。
操作
Deque() 創(chuàng)建一個(gè)空的雙端隊(duì)列
add_front(item) 從隊(duì)頭加入一個(gè)item元素
add_rear(item) 從隊(duì)尾加入一個(gè)item元素
remove_front() 從隊(duì)頭刪除一個(gè)item元素
remove_rear() 從隊(duì)尾刪除一個(gè)item元素
is_empty() 判斷雙端隊(duì)列是否為空
size() 返回隊(duì)列的大小
實(shí)現(xiàn)
class Deque(object):
"""雙端隊(duì)列"""
def __init__(self):
self.items = []
def is_empty(self):
"""判斷隊(duì)列是否為空"""
return self.items == []
def add_front(self, item):
"""在隊(duì)頭添加元素"""
self.items.insert(0,item)
def add_rear(self, item):
"""在隊(duì)尾添加元素"""
self.items.append(item)
def remove_front(self):
"""從隊(duì)頭刪除元素"""
return self.items.pop(0)
def remove_rear(self):
"""從隊(duì)尾刪除元素"""
return self.items.pop()
def size(self):
"""返回隊(duì)列大小"""
return len(self.items)
if __name__ == "__main__":
deque = Deque()
deque.add_front(1)
deque.add_front(2)
deque.add_rear(3)
deque.add_rear(4)
print deque.size()
print deque.remove_front()
print deque.remove_front()
print deque.remove_rear()
print deque.remove_rear()
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python判斷設(shè)備是否聯(lián)網(wǎng)的方法
這篇文章主要為大家詳細(xì)介紹了python判斷設(shè)備是否聯(lián)網(wǎng)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
python scrapy框架中Request對(duì)象和Response對(duì)象的介紹
本文介紹了python基礎(chǔ)之scrapy框架中Request對(duì)象和Response對(duì)象的介紹,Request對(duì)象主要是用來(lái)請(qǐng)求數(shù)據(jù),爬取一頁(yè)的數(shù)據(jù)重新發(fā)送一個(gè)請(qǐng)求的時(shí)候調(diào)用,Response對(duì)象一般是由scrapy給你自動(dòng)構(gòu)建的,因此開(kāi)發(fā)者不需要關(guān)心如何創(chuàng)建Response對(duì)象,下面來(lái)一起來(lái)了解更多內(nèi)容吧2022-02-02
Python hexstring-list-str之間的轉(zhuǎn)換方法
今天小編就為大家分享一篇Python hexstring-list-str之間的轉(zhuǎn)換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06

