#define maxsize 5
typedef struct
{
int *Queue;
int front;
int order;
}Queue;
Queue* IniQue()
{
Queue *q;
q = new Queue;
q->Queue = new int[maxsize];
q->front = 0;
q->order = 0;
return q;
}
void JoinQue(Queue *q, int x)
{
if (q->order == maxsize) cout << "队列已满!" << endl;
q->order += 1;
q->Queue[q->front+q->order-1] = x;
}
void LeaveQue(Queue *q)
{
q->order--;
if (q->order == 0) cout << "队列已空!" << endl;
q -> Queue[q->front] = NULL;
q->front = (q->front + 1) % maxsize;
}
int GetHead(Queue *q)
{
return q->Queue[q->front];
}
int main()
{
Queue *q1= IniQue();
for (int i = 15; i < 20; i++)
{
JoinQue(q1, i);
}
LeaveQue(q1);
int head = GetHead(q1);
cout << head << endl;
for (int a = 0; a < 5; a++)
{
cout << q1->Queue[a] << '\n';
}
return 0;
}