标准c库是否提供链表等数据结构?

标准c库是否提供链表等数据结构?,c,gcc,data-structures,glibc,C,Gcc,Data Structures,Glibc,标准的C库实现,特别是glibc(GNUC库)是否提供了链表、堆栈等数据结构,还是我们必须推出自己的 谢谢。C标准不提供链表和堆栈之类的数据结构。某些编译器实现可能提供自己的版本,但它们的使用在不同的编译器之间是不可移植的 因此,是的,您必须自己编写。因此,C不提供数据结构,但您可以使用Gnome提供的 ad还提供了一些数据结构C标准没有,但glibc根据手册页在中提供了列表、尾部队列和循环队列,这些队列来自BSD而不是POSIX。POSIX(和glibc)中有一个哈希表实现;请参阅hcreat

标准的C库实现,特别是glibc(GNUC库)是否提供了链表、堆栈等数据结构,还是我们必须推出自己的


谢谢。

C标准不提供链表和堆栈之类的数据结构。某些编译器实现可能提供自己的版本,但它们的使用在不同的编译器之间是不可移植的


因此,是的,您必须自己编写。

因此,C不提供数据结构,但您可以使用Gnome提供的


ad还提供了一些数据结构

C标准没有,但glibc根据手册页在
中提供了列表、尾部队列和循环队列,这些队列来自BSD而不是POSIX。

POSIX(和glibc)中有一个哈希表实现;请参阅hcreate/hdestroy/hsearch的手册页


但是,如前所述,使用glib可能是避免重新实现基本数据结构的最简单方法。

glibc中有哈希表、二叉树和二叉搜索内容。 这些是C89、C99和/或POSIX.1标准的一部分。 链接列表不存在的某些原因

手册页中的更多信息:,和


注意:有些设计不好。例如:
hsearch
只允许每个进程使用一个哈希表。GNU编译器gcc/glibc提供了允许多个哈希表的可重入版本。另请参见堆栈溢出。

正如其他答案所述,标准库中没有链表库

不久前我写了一本供自己使用的。您可以自由使用它或将代码用作参考


您可以在这里找到:

当然,如果您不担心可移植性,只需参考目标编译器文档,找到它提供的合适的数据结构并使用它们。glibc与“标准C库”不同。glibc解决方案:注意还有gnulib:map: