就当找工作练手了
#include<iostream>
using namespace std;struct Queue
{
int * array;
int front;
int rear;
};
void init(Queue* queue)
{
queue->array = (int*)malloc(sizeof(int)*8);
queue->front = 0;
queue->rear = 0;
}
bool isEmpty(Queue* queue)
{
if(queue->front == queue->rear)
return true;
return false;
}
bool isFull(Queue* queue)
{
if(queue->front == (queue->rear+1)%8)
return true;
return false;
}
void enQueue(Queue* queue,int val)
{
if(isFull(queue))
{
cout<<"队列已满"<<endl;
return;
}
else
{
queue->array[queue->rear]=val;
queue->rear = (queue->rear+1)%8;
return;
}
}
void deQueue(Queue* queue,int *pval)
{
if(isEmpty(queue))
{
cout<<"队列为空";
return;
}
else
{
*pval = queue->array[queue->front];
queue->front = (queue->front+1)%8;
return;
}
}
void Traverse(Queue* queue)
{
int i = queue->front;
while(i!=queue->rear)
{ cout<<queue->array[i]<<endl;
i = (i+1)%8;
}
}
int main()
{
Queue queue;
int pval=0;
init(&queue);
enQueue(&queue,3);
enQueue(&queue,7);
enQueue(&queue,6);
enQueue(&queue,2);
enQueue(&queue,1);
enQueue(&queue,10);
enQueue(&queue,71);
enQueue(&queue,8);
Traverse(&queue);
deQueue(&queue,&pval);
cout<<"出队元素为:"<<pval<<endl;
Traverse(&queue);
return 0;
}