/从队头到队尾依次对队列Q中的每个元素输出/
Status QueueTraverse(LinkQueue Q)
{
QueuePtr p;
p = Q.front->next;
while (p)
{
visit(p->data);
p = p->next;
}
printf("\n");
return OK;
}
int main()
{
Status j;
LinkQueue 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:空 0:否)\n", QueueEmpty(Q));
ClearQueue(&Q);
printf("清空队列后,队列空否:%d(1:空 0:否)\n", QueueEmpty(Q));
return 0;
}