有没有简单的方法在C中创建队列

时间:2013-10-21 10:20:04

标签: c data-structures containers

我已经做了一段时间的Java,并想知道是否有一种在C中创建队列或类似结构的简单方法?我需要创建一个缓冲区,在需要时删除内容并能够将内容添加到其末尾?

5 个答案:

答案 0 :(得分:2)

C中没有对队列,列表或地图的内置支持。您需要为其找到第三方库或自己编写一个。

答案 1 :(得分:2)

我使用了这套数据结构并对结果感到满意:

http://troydhanson.github.io/uthash/utlist.html

在头文件中使用宏的方法使得它非常轻量且易于合并到您的项目中

答案 2 :(得分:2)

如果你是来自Java背景,那么你会发现C ++与它有更多相似之处。在C ++标准模板库中,已经存在Queue class,它应该是关于最有效的队列,你可以用C或C ++实现。

答案 3 :(得分:1)

基本上你必须自己编写或者在互联网上寻找实现。与Java相比,C标准库非常有限。

另一方面,实现这样的基本数据结构非常简单,并且有很多关于有效实现的文档。

答案 4 :(得分:1)

如果您使用的是Linux或BSD(包括MacOS),则可以使用#include <sys/queue.h> 另见

如果您使用的是Windows,则可以复制标题并将其编辑为独立的(如有必要)。