ADT LinkQueue 佇列的實現

2021-07-11 03:30:24 字數 1057 閱讀 8743

linkqueue的c語言實現。資料型別用qelemtype來表示,可以在**重用時無需再更改,只需巧用typedef來改個名就可以了,像下面的typedef int qelemtype。下面是完整的**。

#include

#include

#define ok 1

#define

true

1#define

false

0#define error -

2#define overflow -

3typedef int qelemtype;

typedef int status;

typedef struct qnode qnode, *queueptr;

typedef struct linkqueue;

status initqueue(linkqueue& q) // initqueue

status destroyqueue(linkqueue& q)

return ok;

} // destroyqueue, 執行後 q 不存在.

status clearqueue(linkqueue& q) // clearqueue

status emptyqueue(linkqueue q) // emptyqueue

int queuelength(linkqueue q) // queuelength

status gethead(linkqueue q, qelemtype& e)

else

return error;

} // gethead

status enqueue(linkqueue& q, qelemtype e) // enqueue

status dequeue(linkqueue& q, qelemtype& e) // dequeue

void printqueue(linkqueue q) // printqueue

佇列 優先佇列的學習

佇列定義 佇列是限定只能在表尾進行 插入,在表頭進行刪除的線性表 隊尾 允許插入的一端 隊頭 允許刪除的一端 佇列的定義 include queue 標頭檔案 using namespace std 需要加上使用名稱 空間,和sort 排序函式是一樣的。queue int q 格式 queue 型別...

佇列 迴圈佇列的實現

為了可以重新利用佇列底層陣列中已刪除元素所佔的空間,消除可能出現的 假滿 現象,將順序佇列改進為迴圈佇列。迴圈佇列是首尾相連的佇列 當front rear變數達到底層陣列的capacity 1之後,再向前以為就變成0.入隊 1 判斷佇列是否已滿,已滿丟擲越界異常 2 不滿的話把元素查到隊尾,並且re...

棧的佇列(佇列)

二.關於佇列的簡單實現。順序佇列的基本實現和順序棧的實現基本相似。順序佇列在出列和入列的時候會使佇列整體向上移動,會浪費一定的空間。因此出現了一種佇列叫做迴圈佇列。迴圈佇列可以實現空間的重複利用,大大節省了空間。關於迴圈佇列的實現 建立乙個空佇列 struct node struct node in...