資料結構知識整理 鏈隊

2021-09-05 08:01:34 字數 1141 閱讀 2634

初始化 入隊

出隊 取隊頭元素

佇列是兩種重要的線性結構,與一般線性表不同,它們是操作受限的特殊線性表,主要用於輔助其他資料結構的操作和處理,基本不用於儲存資料元素資訊。

佇列(queue)是一種先進先出(first in first out,fifo)的線性表。它只允許在表的一端插入,而在表的另一端刪除元素。這和日常生活中的排隊乙個道理。

在佇列中,允許插入的一端叫隊尾(rear),允許刪除的一端則稱為隊頭(front)

鏈隊是指採用鏈式儲存結構實現的佇列,通常採用單鏈表

乙個鏈隊顯然需要兩個分別指示隊頭和隊尾的指標才能唯一確定,所以不能像鏈棧那樣僅用乙個基位址表示。

初始狀態時,隊頭(尾)結點為空,即 front == rear == null;,這同時也是判斷空隊的條件;

typedef struct qnode        /*鏈隊結點結構*/

qnode;

typedef struct /*鏈隊結構*/

linkqueue;

void initqueue(linkqueue &q)

插入操作只考慮隊尾指標rearrear指向新插入結點,新插入結點的指標域設為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,隊尾指標為...