/从队头到队尾依次对队列Q中每个元素输出/
Status QueueTraverse(SqQueue Q)
{
int i;
i = Q.front;
while (i != Q.rear)
{
visit(Q.data[i]);
i = (i + 1) % MAXSIZE;
}
printf("\n");
return OK;
}
int main()
{
int j;
SqQueue Q;
if (InitQueue(&Q) == OK)
for (j = 1; j <= 10; j++)
EnQueue(&Q, j);
printf("队列中元素依次为:");
QueueTraverse(Q);
printf("队列长度为 %d\n", QueueLength(Q));
QElemType deEle = DeQueue(&Q);
printf("出队列队头元素e=%d\n", deEle);
QueueTraverse(Q);
printf("出队列队头元素e=%d\n", deEle);
printf("队列长度为%d\n", QueueLength(Q));
for (j = 21; j <= 25; j++)
EnQueue(&Q, j);
printf("出队列一个元素,再入队列5个元素后,队列依次为:\n");
QueueTraverse(Q);
printf("队列长度为%d\n", QueueLength(Q));
printf("队列空否:%d(1:空 2;否)\n", QueueEmpty(Q));
ClearQueue(&Q);
printf("清空队列后,队列空否:%d(1:空 2;否)\n", QueueEmpty(Q));
return 0;
}