#include<iostream>
#include<cstdlib>
using namespace std;
const int maxSize = 50;
typedef struct
{
int data[maxSize];
int front;
int rear;
}Queue;
void InitQueue(Queue &Q)//初始化顺序队列
{
Q.front = 0;
Q.rear = 0;
}
int EnQueue(Queue &Q, int e)
{
if((Q.rear +1)%maxSize == Q.front)
return 0;
Q.data[Q.rear] = e;
++Q.rear;
return 1;
}
int DeQueue(Queue &Q, int &e)
{
if(Q.front == Q.rear)
return 0;
e = Q.data[Q.front];
++Q.front;
return 1;
}
int main()
{
const int N = 10;
int temp;
Queue Q;
InitQueue(Q);
for(int i=0;i<N;++i)
{
EnQueue(Q,i+1);
}
while(Q.front != Q.rear)
{
DeQueue(Q,temp);
cout<<temp<<endl;
}
system("pause");
return 0;
}
#include<cstdlib>
using namespace std;
const int maxSize = 50;
typedef struct
{
int data[maxSize];
int front;
int rear;
}Queue;
void InitQueue(Queue &Q)//初始化顺序队列
{
Q.front = 0;
Q.rear = 0;
}
int EnQueue(Queue &Q, int e)
{
if((Q.rear +1)%maxSize == Q.front)
return 0;
Q.data[Q.rear] = e;
++Q.rear;
return 1;
}
int DeQueue(Queue &Q, int &e)
{
if(Q.front == Q.rear)
return 0;
e = Q.data[Q.front];
++Q.front;
return 1;
}
int main()
{
const int N = 10;
int temp;
Queue Q;
InitQueue(Q);
for(int i=0;i<N;++i)
{
EnQueue(Q,i+1);
}
while(Q.front != Q.rear)
{
DeQueue(Q,temp);
cout<<temp<<endl;
}
system("pause");
return 0;
}