初始化 入隊
出隊 取隊頭元素
棧和佇列是兩種重要的線性結構,與一般線性表不同,它們是操作受限的特殊線性表,主要用於輔助其他資料結構的操作和處理,基本不用於儲存資料元素資訊。
佇列(queue)是一種先進先出(first in first out,fifo)的線性表。它只允許在表的一端插入,而在表的另一端刪除元素。這和日常生活中的排隊乙個道理。
在佇列中,允許插入的一端叫隊尾(rear),允許刪除的一端則稱為隊頭(front)。
鏈隊是指採用鏈式儲存結構實現的佇列,通常採用單鏈表。
乙個鏈隊顯然需要兩個分別指示隊頭和隊尾的指標才能唯一確定,所以不能像鏈棧那樣僅用乙個基位址表示。
初始狀態時,隊頭(尾)結點為空,即 front == rear == null;,這同時也是判斷空隊的條件;
typedef struct qnode /*鏈隊結點結構*/
qnode;
typedef struct /*鏈隊結構*/
linkqueue;
void initqueue(linkqueue &q)
插入操作只考慮隊尾指標rear,rear指向新插入結點,新插入結點的指標域設為null。
void enqueue(linkqueue &q, elemtype e)
刪除操作只考慮隊頭指標front,頭結點指向出隊結點的下乙個結點,儲存出隊結點的資料元素資訊。
void dequeue(linkqueue &q, elemtype &e)
elemtype gethead(linkqueue &q)
資料結構 鏈隊(C C 版)
本文為csdn博主coder gxd原創 include 函式malloc free 所在標頭檔案 本文鏈隊為不含頭結點的鏈隊 定義鏈隊結點 typedef struct qnode qnode 定義鏈隊型別 typedef struct liqueue 初始化鏈隊,時間複雜度為o 1 建立鏈隊,並...
資料結構實驗三 鏈隊
include include stdio.h include stdlib.h using namespace std define ok 1 define error 0 define overflow 2 typedef int status typedef int qelemtype 因為要...
資料結構與演算法(9) 鏈隊
資料結構與演算法 9 鏈隊 mi6236 2 鏈隊 2.1 鏈隊的儲存結構 佇列的鏈結實現稱為鏈隊,鏈隊實際上是乙個同時帶有頭指標和尾指標的單鏈表。頭指標指向隊頭結點,尾指標指向隊尾結點即單鏈表的最後乙個結點。佇列以鍊錶形式出現,鏈首結點為隊頭,鏈尾結點為隊尾。隊頭指標為lq front,隊尾指標為...