如果希望迴圈佇列中的元素都能得到利用,則需要設定乙個標誌域 tag,並以 tag 的值為0或1來區分,尾指標和頭指標相同時的佇列狀態是「空」還是「滿」。試編寫與此結構相應的入佇列和出佇列的演算法。
#include
#include
#define maxsize 10
typedef
struct
queue;
intinitqueue
(queue *queue)
;int
enqueue
(queue *queue,
int e)
;int
main()
intinitqueue
(queue *queue)
(*queue)
.front =0;
(*queue)
.rear =0;
(*queue)
.tag =0;
return1;
}int
enqueue
(queue *queue,
int e)
(*queue)
.base[
(*queue)
.rear]
= e;
(*queue)
.rear =((
*queue)
.rear+1)
%maxsize;if(
(*queue)
.front ==
(*queue)
.rear)
return1;
}int
dequeue
(queue *queue,
int*e)
*e =
(*queue)
.base[
(*queue)
.front];(
*queue)
.front =((
*queue)
.front+1)
%maxsize;if(
(*queue)
.front ==
(*queue)
.rear)
return1;
}
佇列的入隊和出隊操作
讓我們跟著課程佇列的特點。好比我們生活中也會發生的排隊,先排隊的人先得到服務,先走出佇列,後面來的人後得到服務,所以它排在末尾 我們以順序隊列為式,也就是說佇列的元素存放的都是連續的單元也就是說看起來rear 指 針已經指向末端但是其實前面還有空間可以存放元素,但是已經放不進去了。我們讓front ...
鏈佇列的入隊 出隊
test demo.cpp 定義控制台應用程式的入口點。include stdafx.h include stdio.h include windows.h define queuesize 100 假定預分配的佇列空間最多為100個元素 typedef char datatype 假定佇列元素的資...
佇列的入隊 出隊操作
程式設計實現佇列的入隊 出隊操作 先進先出 include using namespace std node表示佇列中每個節點元素 typedef struct node node queue表示佇列 typedef struct queue queue 建立空佇列 queue createqueu...