C语言实现数据结构之队列
2018-01-08 11:39
316 查看
博客中所有源代码:Github托管项目地址
队列的介绍
队列的一个显著特征是它按照先进先出(FIFO)的方式存储和检索元素。这就意味着先存入队列的元素将首先被删除。我们可以把队列形象地看成再邮局排队办业务的一队人。在计算机中,将一个元素放置到队尾,称为“入队操作”;将一个元素从对头删除,称为“出队”操作。队列头文件queue.h
#ifndef QUEUE_H #define QUEUE_H #include <stdlib.h> #include "list.h" typedef List Queue; #define queue_init list_init #define queue_destory list_destory int queue_enqueue(Queue *queue, const void *data); int queue_dequeue(Queue *queue, void **data); #define queue_peek(queue) ((queue)->head == NULL ? NULL : (queue)->head->data) #define queue_size list_size #endif
功能实现与分析:
1.队列通过queue-enqueue往队列尾部插入元素。2.队列通过queue_dequeue从队列头部删除元素。
3.queue_peek和queue_size这是队列的两个宏定义,实现队列的两种简单的操作。queue_peek用来获取队列头元素的信息而不使头元素出队。 queue_size用来获取队列的大小。这两种操作都是通过访问Queue的结构成员来实现的。
队列主文件queue.c
#include <stdlib.h>
#include "queue.h"
#include "list.h"
int queue_enqueue(Queue *queue, const void *data)
{
return list_ins_next(queue, list-tail(queue), data);
}
int queue_dequeue(Queue *queue, void **data)
{
return list_rem_next(queue, NULL, data);
}
相关文章推荐
- 数据结构学习笔记-队列的链式存储(C语言实现)
- 数据结构之带优先级的队列(C语言实现)
- 数据结构:队列(C语言实现)
- 数据结构C语言实现系列——队列
- 数据结构 c语言实现顺序队列(输数字入队,字符出队)
- 数据结构:循环队列(C语言实现)
- 数据结构C语言实现系列——队列
- (C语言队列的顺序实现(数据结构十)
- 数据结构 - 队列简介 及 1个简单的c语言链式队列代码实现
- 数据结构:循环队列(C语言实现)
- 数据结构C语言实现之链式队列的6种算法代码
- (C语言队列的顺序实现(数据结构十)
- 数据结构 c语言设计队列 实现桶式排序和基数排序 测试性能
- C语言数据结构-顺序队列-数组实现
- 数据结构:循环队列(C语言实现)
- 数据结构-队列-顺序表实现-C语言
- C语言数据结构之实现顺序存储结构队列
- 数据结构中栈与队列的c语言代码实现
- c语言数据结构实现-数组队列/环形队列
- 数据结构:循环队列(C语言实现)