回收队列
回收可以快速取消队列,方法是让头尾碰面即可。
status destoryQueue(LinkQueue* que) { //回收队列
if(que->head){
que->rear = que->head->next;
free(que->head);
que->head=que->rear;
}
return OK;
}
遍历队列和测试方法
提供一个简单的方法来测试链表队列。
status viewQueue(LinkQueue* que){
if(que->rear == que->head)
return ERROR;
QueuePtr p =que->head->next;
while(p){
printf("val:%d",p->data);
p=p->next;
}
return OK;
}
int main(int argc, char **argv){
LinkQueue myQueue;
initQueue(&myQueue);
for(int i=1;i<=5;i++)
enQueue(&myQueue,i);
viewQueue(&myQueue);
QElemtype a;
for(int i=0;i<5;i++){
delQueue(&myQueue,&a);
printf("%d\n",a);
}
destoryQueue(&myQueue);
printf("fuck !");
return 0;
}