#include#define size 10 //最大佇列長度,實際上只能存入(size-1)個資料typedef char datatype;
//迴圈佇列可以解決順序佇列的假滿現象
//迴圈佇列的型別定義
typedef struct
circlequeue;
//初始化佇列
void init(circlequeue * q)
//判斷佇列是否為空
int isempty(circlequeue *s)
//判斷佇列是否為滿
int isfull(circlequeue *q)
//元素入隊,rear所指的單元始終未空
void inqueue(circlequeue *q,datatype e)
else }
//元素出隊
datatype outqueue(circlequeue *q)
else }
//列印佇列
void printqueue(circlequeue q)
printf("\n");
}//取得隊頭元素
datatype getfirst(circlequeue q)
else }
void main()
printf("出隊順序為:");
printqueue(q);
outqueue(&q);
printf("出隊順序為:");
printqueue(q);
printf("隊頭元素為:%c",getfirst(q));
printf("\n");
}
佇列 迴圈佇列的實現
為了可以重新利用佇列底層陣列中已刪除元素所佔的空間,消除可能出現的 假滿 現象,將順序佇列改進為迴圈佇列。迴圈佇列是首尾相連的佇列 當front rear變數達到底層陣列的capacity 1之後,再向前以為就變成0.入隊 1 判斷佇列是否已滿,已滿丟擲越界異常 2 不滿的話把元素查到隊尾,並且re...
迴圈佇列的實現
佇列是一種先進先出的線性表,具有線性表的特性 分為鏈式佇列與順序佇列 順序佇列 用一段位址連續的儲存單元儲存資料元素,定義兩個游標 指向隊頭 的游標 front 指向隊尾的游標 rear 如果front rear隊列為空,如果 rear 1 maxsize front佇列滿 此為迴圈佇列 如普通佇列...
迴圈佇列的實現
include include includeusing namespace std typedef int qelementtype typedef int status define error 0 define ok 1 define maxqsize 10 佇列的資料抽象 typedef s...