数据结构 队列_队列的实现与分析

结构Queue是队列数据结构。同栈一样,也用typedef List Queue 来定义。

 queue_init

队列通过queue_init初始化。经过初始化的队列才能进行其他操作。因为队列本身就是一个链表,并且初始化过程相同,所以将queue_init定义成list_init。

queue_init的运行时复杂度与list_init相同,都是O(1)。

queue_destroy

队列通过queue_destroy销毁。因为队列本身就是一个链表,并且销毁过程相同,所以将queue_destroy定义成list_destroy。

queue_destroy的运行时复杂度与list_destroy相同都是O(n),n代表队列包含元素的个数。

示例1:队列抽象数据类型的头文件

/*queue.h*/ #ifndef QUEUE_H #define QUEUE_H #include <stdlib.h> #include "list.h" /*将队列定义成链表*/ typedef List Queue; /*公开接口*/ #define queue_init list_init #define queue_destroy list_destroy int enqueue(Queue *queue,void *data); int dequeue(Queue *queue,void **data); #define queue_peek(queue)((queue)->head == NULL ? NULL : (queue)->head->data) #define queue_size list_size #endif

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyzpw.html