佇列是一種特殊的線性表,它只允許在表的前端front進行刪除操作,在表的後端rear進行插入操作。
進行插入操作的稱為隊尾rear,進行刪除操作的為隊頭。
佇列中沒有元素時,稱為空佇列。
佇列具有先進先出的特點。
佇列空的條件:front=rear
佇列滿的條件:rear=maxsize
迴圈佇列
將儲存佇列元素的以為陣列首尾相接,形成乙個環狀,這種形式表示為迴圈佇列。
通常還需要增加標誌s來區分佇列滿還是空。
型別定義
//佇列最大資料元素數目
#define max_size 10
typedef
struct seqqueueseqqueue;
入隊操作
void
enqueue
(seqqueue sq,elemtype elem)
}
出隊操作
elemtype dequeue
(seqqueue sq)
}
獲取佇列頭元素
elemtype front
(seqqueue sq)
else
}
判斷佇列是否為空
boolean isempty
(seqqueue sq)
用鏈式儲存結構表示佇列時,需要設定隊頭指標和隊尾指標,以便指示隊頭結點和隊尾結點。
結點結構
typedef
struct lqnodelqnode;
鏈式佇列
typedef
struct linkedqueuelinkedqueue;
初始化佇列
void
initiate
(linkedqueue lq)
入隊操作
void
enqueue
(linkedqueue lq,elemtype elem)
出隊操作
elemtype dequeue
(linkedqueue lq)
}
資料結構之堆疊與佇列
define maxsize 20 define error 1 typedef struct stack stack createstack int maxsize 生成空堆疊,其最大長度為maxsize int isfull stack s,int maxsize 判斷堆疊s是否已滿 else ...
資料結構 堆疊與佇列 1
棧是一種特殊的線性表,即lifo線性表 last in first out,後進先出 進行插入和刪除的一端是浮動端,通常稱為棧頂,並用一指標指示,稱作棧頂指標,而另一端是固定端,通常被稱為棧底。initiate s 初始化 push s,elem 入棧 pop s,elem 出棧 isempty s...
資料結構 堆疊與佇列複習大綱
1.1 棧的基本概念 棧 stack 只允許在一端進行插入或刪除操作的線性表 棧頂 top 線性表允許進行插入和刪除的那一端 特點 lifo last in first out 後進先出 操作特徵 1.2 棧的基本操作 1.3 佇列的基本概念 佇列 quene 是一種操作受限的線性表,只允許在表的一...