/*2. 完成對迴圈佇列結構的定義,以及對迴圈佇列的各種基本運算的實現(每種基本運算用乙個函式來實現)。
基本運算包括:
初始化init_sqqueue運算、
判隊空empty_sqqueue運算、
入隊en_sqqueue運算、
出隊de_sqqueue運算、
取隊頭元素gethead_sqqueue運算。*/
#includeusing namespace std;
typedef char datatype;
const int maxsize=100; //佇列的容量,元素最多不能超過它
typedef struct
sqqueue; //順序佇列型別
//初始化
void init_sqqueue(sqqueue *sq)
//判隊空
int empty_sqqueue(sqqueue *sq)
//取隊頭
int gethead_sqqueue(sqqueue *sq,datatype *x)
else
}//入隊
int en_sqqueue(sqqueue *sq,datatype x)
sq->rear=(sq->rear+1)%maxsize;
sq->data[sq->rear]=x;
return 1;
}//出隊
int de_sqqueue(sqqueue *sq,datatype *x)
else }
void display(sqqueue *sq)
else
cout<<"佇列的所有元素:"rear;i++)
cout}int main()
} return 0;
}
迴圈佇列的基本實現
佇列 只允許在一端進行插入操作 隊尾 在另一端進行刪除操作的線性表 隊頭 先進先出。迴圈佇列 為了解決假溢位的問題 迴圈佇列有兩個指標,rear尾指標和front頭指標 相當於陣列的下標 隊空 rear和front指在同乙個位置,即 rear front 隊滿 rear 1 queuesize fr...
迴圈佇列的基本操作實現
front 指向隊頭元素的前乙個單元 rear 指向隊尾元素 maxsize 陣列的最大長度 元素入隊的時候,將隊尾的指標加1,然後元素入隊 元素出隊時,先將對頭指標加1,然後元素出隊。隊頭指標進1 front front 1 maxsize 隊尾指標進1 rear rear 1 maxsize 在...
29 迴圈佇列的基本操作實現
circularqueue.h檔案 ifndef circularqueue h define circularqueue h include include include define max size 5 定義佇列資料結構 typedef struct circularqueue circul...