这里实现的队列依然是使用这篇文章中的单链表
http://blog.csdn.net/dlutbrucezhang/article/details/18225473来实现的,并不复杂,且不含有过多的错误控制,同样需要自己进行正确的输入,这个队列实现的一系列操作类似于前一篇文章写到的栈,提供了基本的操作,好吧,直接把代码贴下吧:
头文件:
/* * dlut_queue.h * * Created on: 2014年1月13日 * Author: DLUTBruceZhang */ #ifndef DLUT_QUEUE_H_ #define DLUT_QUEUE_H_ #include "dlut_list.h" #define EMPTY 1 #define NOT_EMPTY 0 list * dlut_queue_create(); void dlut_queue_enqueue(list *, need); void dlut_queue_dequeue(list *); need dlut_queue_front(list *); int dlut_queue_empty(list *); void dlut_queue_destory(list *); #endif /* DLUT_QUEUE_H_ */
C文件:
/* * dlut_queue.c * * Created on: 2014年1月13日 * Author: DLUTBruceZhang */ #include "dlut_queue.h" list *dlut_queue_create() { return dlut_list_create(); } void dlut_queue_enqueue(list *head, need data) { dlut_list_insert_to_tail(head, data); } void dlut_queue_dequeue(list *head) { dlut_list_delete_the_head(head); } need dlut_queue_front(list *head) { return dlut_list_get_the_head(head); } int dlut_queue_empty(list *head) { return head -> data ? NOT_EMPTY : EMPTY; } void dlut_queue_destory(list *head) { dlut_list_delete_the_list(head); }