在寫鏈佇列之前,我們需要知道佇列元素進出的原則為「先進先出」。
class
node()
:#結點類
def__init__
(self,elem)
: self.elem = elem # 資料域,用來存放資料元素
self.
next
=none
# 指標域,指向下乙個結點
class
queue()
:# 佇列
def__init__
(self)
:# 佇列初始化
self.head =
none
# 構造私有頭結點
defis_empty
(self)
:# 判空佇列
if self.head ==
none
:return
true
else
:return
false
defenqueue
(self,elem)
:# 進佇列(正常向後填元素)
node = node(elem)
# 建立新結點
if self.is_empty():
# 如果為空,作為第乙個結點
node.
next
= self.head
self.head = node
else
: top = self.head
while top.
next
isnot
none
: top = top.
next
top.
next
= node
defdequeue
(self)
:# 出佇列(頭出)
top = self.head
self.head =
none
self.head = top.
next
return top.elem
鏈佇列C 實現
鏈佇列時建立在單鏈表的基礎之上的。由於是動態分配節點記憶體,所以無需判滿。鏈佇列的形式如下 1 佇列空 2 佇列存在資料 下面介紹下c 實現的鏈佇列,vc6下除錯通過。1 檔案組織 2 lq.h鏈佇列類的說明 cpp view plain copy print?ifndef lq h define ...
鏈佇列之C 實現
鏈佇列時建立在單鏈表的基礎之上的。由於是動態分配節點記憶體,所以無需判滿。鏈佇列的形式如下 1 佇列空 2 佇列存在資料 下面介紹下c 實現的鏈佇列,vc6下除錯通過。1 檔案組織 2 lq.h鏈佇列類的說明 ifndef lq h define lq h typedef int datatype ...
演算法設計 鏈棧和鏈佇列 鏈棧和鏈佇列的實現
1.鏈佇列。利用帶有頭結點的單鏈表來實現鏈佇列,插入和刪除的複雜度都為o 1 include include typedef struct qnode qnode typedef struct linkqueue linkqueue void initialize linkqueue linkque...