#include <bits/stdc++.h>
#define MAXSIZE 100
using namespace std;
typedef int datatype;
typedef struct{
datatype a[MAXSIZE];
int front,rear;
}sequence_queue;
void init(sequence_queue *list);
int empty(sequence_queue *list);
datatype read(sequence_queue *list);
void insert(sequence_queue *list,datatype x);
void dele(sequence_queue *list);
int main(){
return 0;
}
void init(sequence_queue *list){ //初始化循环队列
list->front=list->rear=0;
}
int empty(sequence_queue *list){ //判断循环队列是否为空
if(list->front==list->rear){
return 1;
}
else{
return 0;
}
}
datatype read(sequence_queue *list){ //读取队列队尾值
if(empty(list)){
printf("队列为空!");
exit(1);
}
return list->a[list->front];
}
void insert(sequence_queue *list,datatype x){ //向队首插入元素
if((list->rear+1)%MAXSIZE==list->front){
printf("队列已满!");
exit(1);
}
list->a[list->rear]=x;
list->rear=(list->rear+1)%MAXSIZE;
}
void dele(sequence_queue *list){ //队尾删除元素
if(list->front==list->rear){
printf("队列为空!");
exit(1);
}
list->front=(list->front+1)%MAXSIZE;
}
1.初始化循环队列
2.判断循环队列是否为空
3.读取队列队尾值
4.向队首插入元素
5.队尾删除元素