题目:
1、建立循环队列,并实现元素(4,5,7,6,8)入队,实现循环队列的建立,和入队的基本操作;
2、实现元素(4,5,7,6,8)依次出队并输出。
#include<iostream>
using namespace std;
#define MaxSize 100
typedef struct{
int *base;
int front;
int rear;
}Seq;
int Init(Seq &L){ //初始化
L.base = new int[MaxSize];
L.front = L.rear = 0;
return 1;
}
int Enter(Seq &L,int m){ //入队列
if((L.rear+1)%MaxSize == L.front){
cout<<"队列已满!";
return 0;
}
L.base[L.rear] = m;
L.rear = (L.rear + 1)%MaxSize;
return 1;
}
int Out(Seq &L,int &m){ // 出队列
if(L.rear == L.front){
cout<<"队列空!";
return 0;
}
m = L.base[L.front];
L.front = (L.front+1)%MaxSize;
return 1;
}
int main(){
Seq S;
int m;
Init(S);
Enter(S,4);
Enter(S,5);
Enter(S,7);
Enter(S,6);
Enter(S,8);
for(int i = 0;i < 5;i++){
Out(S,m);
cout<<m<<" ";
}
return 0;
}