这里实现的队列依然是使用这篇文章中的单链表
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);
}