資料結構 迴圈鍊錶實現環形佇列

2021-10-10 11:51:56 字數 1070 閱讀 1682

迴圈鍊錶寫迴圈佇列,只用乙個隊尾指標就夠了,因為迴圈鍊錶中隊尾節點的下乙個節點就是隊首節點。

隊空條件:

隊滿條件:不考慮

進隊操作:將新的節點插入到隊尾,稱為隊尾節點,然後隊尾指標指向這個新的節點。

#include #include #include #define error 0

#define ok 1

typedef int status;

#define elemetype_lqu int //鏈式棧資料型別

typedef struct qnode qunode, * lqueue;

typedef struct

liqueue,*liqueue;

/*******************鏈式迴圈佇列(只用尾節點指標)******************/

void initqueue_lk_cir(liqueue& qu) //其實不用傳遞qu,只需要傳遞乙個rear指標就行了,我這裡懶得重新定義了,就用了之前的定義。

bool queueempty_lk_cir(liqueue& qu)

status enqueue_lk_cir(liqueue& qu, elemetype_lqu e)

else

return ok;

}status dequeue_lk_cir(liqueue& qu, elemetype_lqu& e)//注意出隊是從頭出

else

e = p->data;

free(p);

return ok;

}int queuecount_lk_cir(liqueue& qu)

num++;

return num;

}/*******************鍊錶迴圈佇列測試********************/

void queuetest_lk_cir()

int main()

資料結構 順序表實現環形佇列

1 佇列的定義 佇列是一種特殊的線性表,線性表兩端都可以進行插入刪除,而佇列只能在隊頭刪除,隊尾插入。插入元素稱為入隊,刪除元素稱為出隊。2 佇列的特點 1 只允許在一端進行插入資料操作,在另一端進行刪除資料操作的特殊線性表 2 進行插入操作的一端稱為隊尾 入佇列 3 進行刪除操作的一端稱為隊頭 出...

資料結構 佇列,陣列實現 鍊錶實現和迴圈佇列

一 什麼是佇列 一種先進先出的資料結構 fifo結構 新元素新增在隊尾 push 刪除操作刪掉第乙個元素 pop 二 佇列的實現方式 佇列的實現方式陣列實現 鍊錶實現 三 常見的佇列 常用佇列迴圈佇列 阻塞佇列 併發佇列 四 怎麼實現乙個無bug的佇列思考 思考1 head 頭元素 和tail 尾元...

資料結構 環形鍊錶

約瑟夫問題 josephu問題為 設編號為1,2,n的n個人圍坐一圈,約定編號為k 1 k n 的人從1開始報數,數到m的那個人出列,它的下一位又從1開始報數,數到m的那個人又出列,依次類推,直到所有人出列為止,由此產生 個出隊編號的序列。n 5即有五個人 k 1,從第乙個人開始 m 2,數兩下 出...