所謂鏈結佇列就是用乙個線性鍊錶來表示乙個佇列,佇列中每個元素對應鍊錶中乙個鏈結點,隊頭指標front指向線性鍊錶的第1個鏈結點,隊尾指標rear指向鍊錶的最後乙個鏈結點,與順序儲存結構的佇列不同的是,隊頭指標和隊尾指標都是指向實際隊頭元素和隊尾元素所在的鏈結點。測試鏈結隊列為空的條件是front為null,鏈結佇列的型別定義如下:
/* 定義乙個鏈結佇列的型別 */
typedef struct node qnode, *qlink;
#include#include/* 定義乙個鏈結佇列的型別 */
typedef struct node qnode, *qlink;
/* 初始化鏈結佇列 */
void initialq( qlink *front, qlink *rear )
/* 測試鏈結佇列是否為空 */
int isempty( qlink front )
/* 取當前對頭元素 */
int getq( qlink front, int *item )
/* 鏈結佇列的插入 */
int insertq( qlink *front, qlink *rear, int item )
/* 鏈結佇列的刪除 */
int deleteq( qlink *front, int *item )
/* 鏈結佇列的銷毀 */
void destroyq( qlink *front, qlink *rear )
}void printq( qlink front )
}int main()
鏈結佇列(Link Queue) 佇列的鏈結實現
之前討論的連續實現的佇列結構 佇列 queue 先進先出 fifo 的資料結構 data structures 與連續棧結構存在著同樣的缺點,即都需要大片連續的儲存空間。而這個問題在佇列結構裡更加嚴重。解決的辦法則與連續棧結構問題的辦法一樣 使用鏈結佇列。鏈結佇列實現除了不需要連續空間外,其所支援的...
鏈佇列的基本演算法
一 介紹 佇列 queue 計算機中一種常用的資料結構,具有先進先出fifo的特點。通俗一點,就跟生活中超市購物結賬排隊一樣,靠前的結賬先走,新來的排在後面等待。對於佇列中的元素,一般都在隊頭出隊,在隊尾入隊,隊頭用q.front表示,隊尾用q.rear表示。佇列的實現有兩種方式,通過陣列或者鍊錶實...
Python演算法 實現佇列的基本操作
實現乙個佇列的資料結構,具有 入隊 出隊 檢視隊尾首元素 檢視佇列大小等功能。coding utf 8 陣列實現佇列 class myqueue def init self self.arr self.front 0 佇列頭 self.rear 0 佇列尾 判斷佇列是否為空 def isempty ...