佇列的實現

2021-10-02 09:16:51 字數 1161 閱讀 6843

// 鏈式結構:表示佇列

typedef struct qlistnode

qnode;

// 佇列的結構

typedef struct queue

queue;

// 初始化佇列

void queueinit(queue* q);

// 隊尾入佇列

void queuepush(queue* q, qdatatype data);

// 隊頭出佇列

void queuepop(queue* q);

// 獲取佇列頭部元素

qdatatype queuefront(queue* q);

// 獲取佇列隊尾元素

qdatatype queueback(queue* q);

// 獲取佇列中有效元素個數

int queuesize(queue* q);

// 檢測佇列是否為空,如果為空返回非零結果,如果非空返回0

int queueempty(queue* q);

// 銷毀佇列

void queuedestroy(queue* q);

#include"queue.h"

qnode* buyqueuenode(qdatatype x)

void queueinit(queue* q)

void queuepush(queue* q, qdatatype data)

else }

void queuepop(queue* q)

else }

qdatatype queuefront(queue* q)

qdatatype queueback(queue* q)

int queuesize(queue* q)

return count;

}int queueempty(queue* q)

void queuedestroy(queue* q)

while (q->_front) }

void queueprintf(queue* q)

qnode* cur;

for (cur = q->_front; cur; cur = cur->_next)

printf("\n");

}

佇列實現 佇列的鏈式結構實現

佇列的實現,用單鏈表實現佇列的結構 1 初始化建立佇列 2 釋放佇列 3 清空佇列 4 計算佇列長度 5 判斷佇列是否為空 6 列印佇列元素 7 入隊操作 隊尾插入 8 出隊操作 隊首刪除 include typedef int datatype struct qnode struct lqueue...

佇列的實現(一)順序佇列的實現

佇列 只能一端進行出棧一端進行進棧。隊首 只允許進行出棧操作,可以進行刪除。隊尾 只允許進行入棧操作,可以進行插入。隊尾進,隊尾出,先進先出。所以佇列的實現也有兩種形式,一種是陣列實現佇列,一種是用鍊錶實現佇列。首先是用陣列來實現佇列。使用陣列佇列,因為在刪除時front會越來越大,所以最後會出現一...

佇列 迴圈佇列的實現

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