-1

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

4

5 回答 5

2

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

于 2013-10-21T10:23:20.300 回答
2

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

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

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

于 2013-10-21T11:03:00.747 回答
2

如果您来自 Java 背景,您会发现 C++ 与普通 C 相比有更多的相似之处。在 C++ 标准模板库中,已经有一个Queue 类,它应该是您可能使用的最高效的 Queue用 C 或 C++ 实现。

于 2013-10-21T11:04:15.743 回答
1

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

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

于 2013-10-21T10:25:06.327 回答
1

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

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

于 2013-10-21T10:31:10.497 回答