#include"stdafx.h"
#include<iostream>
using namespace std;
constexpr auto M = 8;
int Queue[M];
int front, rear;
void Chushi(int &front,int &rear){
front =0;
rear = 0;
}
int isEmptyQueue(int &front,int &rear) {
return front == rear;
}
int isFullQueue(int rear) {
return rear == M-1 ;
}
int AddQueue(int queue[],int &rear,int x) {
if (isFullQueue(rear))
{
return 0;
}
else
{
queue[rear++] = x;//??
return 1;
}
}
void DelQueue(int queue[],int &front,int &rear) {
if (isEmptyQueue(front,rear))
{
cout << "This is empty Queue" << endl;
}
else
{
for (int i = front; i <= rear; i++)
{
queue[i] = queue[i + 1];
}
--rear;
}
}
int getQueTop(int queue[],int front) {
return queue[front];
}
int main() {
Chushi(front, rear);
int x;
cout << "Please Enter ele to the queue,enter 0 to end" << endl;
while (true)
{
cin >> x;
if (x)
{
AddQueue(Queue, rear, x);
}
else
{
break;
}
}
cout << "Queue ele:" << endl;
for (int i = front; i <rear; i++)
{
cout << Queue[i] << " " ;
}
cout << endl;
cout <<"Delete before que front:"<< getQueTop(Queue, front) << endl;
DelQueue(Queue, front, rear);
for (int i = front; i < rear; i++)
{
cout << Queue[i] << " ";
}
cout << endl;
cout << "Delete later que front:" << getQueTop(Queue, front) << endl;
return 0;
}
//ALIN 你能发现这个实现中蕴含的毛病吗?