資料結構之佇列,佇列是另一種特殊的線性表,是先進先出的,並且出去的元素會被刪除。就如同我們真實生活中排隊一樣,先到的人排在前面,也最先離開佇列。那麼我們就來談一下它的具體實現,這裡主要使用鏈式儲存方式。
下面是**
#include
#include
建立乙個鍊錶結構
typedef
struct queuenode
queuenode,
*queuelink;
再建立乙個佇列結構
typedef
struct queue
queue;
//初始化佇列
void
init
(queue *q)
//末尾指標指向空
q->front->next =
null;}
//入隊操作,這裡我們的隊首節點並不儲存值。
void
insert
(queue *q,
int e)
//出隊操作,其實就是單鏈表的操作
void
out(queue *q,
int*e)
p = q->front->next;
*e = p->data;
q->front->next = p->next;
if(q->rear == p)
free
(p);
}//判斷是否為空
intisempty
(queue *q)
c語言迴圈佇列的建立
對於佇列來說,出佇列就是在佇列頭部出來,然後將後面的元素移動前一位,使他重新變成從0開始的佇列陣列 如果我們不移動就會遇到前面好多空位,卻被判定為隊滿 後面在進佇列的過程中進滿了 稱為假溢位 迴圈佇列就可以解決這個問題,隊滿 時從頭部開始重新插入 include include define max...
佇列(C語言)
include include typedef int elemtype typedef struct list node typedef struct listquene quene 建立空佇列 quene createquene return q 判斷佇列是否為空 bool isemptyque...
C語言 佇列
佇列是一種特殊的 線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列的鏈式儲存結構 include include 定義乙個鍊錶 typedef st...