鏈式佇列的基本操作 從建立到銷毀

2021-10-10 04:12:37 字數 982 閱讀 9760

#include

#include

//定義int的別名為qelemtype

typedef

int qelemtype;

//鏈佇列

typedef

struct qnode queueptr;

typedef

struct

linkqueue;

//由隊頭指標和隊尾指標唯一確定乙個佇列

bool initqueue

(linkqueue& q)

bool enqueue

(linkqueue& q, qelemtype e)

bool dequeue

(linkqueue& q, qelemtype& e)

/條件:佇列q已存在, 結果:佇列q被銷毀,不再存在/

bool destroyqueue

(linkqueue& q)

​ while

(q.front)

​ free

(q.front)

;​ return true;

}/ 將q清為空佇列/

void

clearqueue

(linkqueue& q)

​ while

(q.front)

}/ 條件:佇列q已存在, 結果:若q為空佇列,則返回true,否則返回false*

/bool queueempty

(linkqueue& q)

/返回q的元素個數,即佇列的長度/

static

intqueuelength

(linkqueue& q)

​ return count;

}/用e返回q的隊頭元素/

intgethead

(linkqueue& q, qelemtype e)

intmain()

鏈式佇列的基本操作

佇列 queue 也是運算受限的線性表。是一種先進先出 first in first out 簡稱fifo 的線性表。只允許在表的一端front進行插入,而在另一端rear進行刪除。隊首 front 允許進行刪除的一端稱為隊首。隊尾 rear 允許進行插入的一端稱為隊尾。例如 排隊購物。作業系統中的...

鏈式佇列的基本操作

操作介紹 1 建立乙個鏈式佇列 2 入隊乙個元素 3 出隊乙個元素 4 獲取隊首元素 5 清空佇列 6 判斷佇列是否為空 7 求佇列長度 8 輸出當前的佇列 9 退出作業系統 include include using namespace std typedef struct qnode 結點結構 ...

佇列的鏈式建立和操作

之前完成了堆疊的建立和操作,現在開始實現佇列 佇列是 具有一定操作約束的線性表 其插入和刪除操作 只能在一端插入,而在另一端刪除 資料插入 入佇列 資料刪除 出佇列 先來先服務 先進先出 fifo first in first out 型別名稱 佇列 queue 資料物件集 乙個有0個或者多個元素的...