"""
lqueue.py 隊列的鏈?zhǔn)酱鎯?重點代碼
思路分析:
1. 基于鏈表模型完成鏈?zhǔn)綏?2. 鏈表開端作為隊頭,尾端作為隊尾
3. 頭尾指向同一個節(jié)點時作為空隊列
"""
# 自定義隊列異常
class QueueError(Exception):
pass
#節(jié)點類
class Node:
def __init__(self, data, next=None):
self.data = data
self.next = next
# 鏈?zhǔn)疥犃蓄?class LQueue:
def __init__(self):
# 初始頭尾指向一個沒有實際意義的節(jié)點
self.front = self.rear = Node(None)
def is_empty(self):
return self.front == self.rear
# 入隊 尾動
def enqueue(self,elem):
self.rear.next = Node(elem)
self.rear = self.rear.next
# 出對 頭動
def dequeue(self):
if self.front == self.rear:
raise QueueError("Queue is empty")
self.front = self.front.next
return self.front.data
if __name__ == "__main__":
lq = LQueue()
lq.enqueue(10)
lq.enqueue(20)
lq.enqueue(30)
print(lq.dequeue())
隊列的鏈?zhǔn)酱鎯?/h2> ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 我們將隊頭指針指向鏈隊列的頭結(jié)點,尾指針指向終結(jié)點。 空隊列時,頭指針和尾指針都指向頭結(jié)點。
- 之前寫了隊列的順序存儲結(jié)構(gòu),隊列的定義及操作見 數(shù)據(jù)結(jié)構(gòu)之隊列的順序存儲結(jié)構(gòu) 隊列的鏈?zhǔn)酱鎯Y(jié)構(gòu)與操作實現(xiàn) 隊列接...
- 隊列,顧名思義就是像排隊一樣,先來先到,先進先出。 type Elem int type Node struct ...
- 鏈?zhǔn)交鶖?shù)排序 說明: 適用于棋牌游戲發(fā)牌之后的排序,數(shù)量在十幾到二十幾之間 思路: 服務(wù)端發(fā)的牌是無序的,我們需要...
- 一、線性表綜述 線性結(jié)構(gòu)的特點就好比一串珠子,其特點是第一個節(jié)點只有一個后繼,沒有前驅(qū),最后一個節(jié)點是只有一個前驅(qū)...