在C语言中编写程序时我想念的一件事是字典数据结构.在C中实现一个最方便的方法是什么?我不是在寻找性能,而是从头开始编写代码.我也不希望它是通用的 - 像string-> int这样的东西.但我确实希望它能够存储任意数量的项目.
这更像是一项练习.我知道有第三方库可供使用.但考虑一下,他们不存在.在这种情况下,您可以以最快的方式实现满足上述要求的字典.
可能重复:
C的类似STL的库
是否有任何具有公共数据结构的开源C库?
Apache Commons项目总是让我感到震惊,因为它是Java语言中遗忘的所有东西的库.现在我几乎总是将它默认包含在所有新项目中.
是否有相当于C编程语言的必备,必备,全包库?(我的意思是C ---而不是C++).
是否存在任何与C一起"来"的Queue数据结构实现,或者我必须自己开发(这是针对学校项目的,因此我必须使用标准gcc安装中存在的东西或者必须自己实现一个! )
那么像链接列表,堆栈等其他常规数据结构呢?
谢谢
问题:为队列找到正确的数据结构:
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <time.h>
int main(int argc, const char *argv[])
{
Queue q;
ch ='A';
for (int k = 0; int k < 4; int k++) {
q.addQ(ch);
ch++;
q.addQ(ch);
ch=q.front();
q.removeQ();
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我试图编译它,但队列是未声明的:
$ gcc -o Qu_1 -g q_queue.c
q_queue.c: In function 'main':
q_queue.c:8: error: 'Queue' undeclared (first use in this function)
Run Code Online (Sandbox Code Playgroud)
问题:基本数据结构的库是什么,例如示例中的队列?
我想用C编写一个2d游戏引擎(没有c ++).有哪些好的库有我可能需要的通用数据类型 - 例如队列,树,地图,列表等等?
可能重复:
是否有任何具有通用数据结构的开源C库?
C程序员的算法和数据结构实现的最佳来源是什么?链接到开源库或书籍.(请不要指向Sedgewick,因为我已经有了他的书).
几天前,我问自己在C函数中应该使用哪种数据结构.我通常用C++编写,选择将落到std :: vector.
有一些可能的选择:
最后一个选项似乎不寻常.有没有更大的项目,有人使用自己的结构,如列表?数组或自己的数据结构之间的决策是否有一般规则?
当我需要一个树形结构时,我不会想到只写一棵树.有没有广泛使用的具有这种结构的库(比如boost for C++)?或者这被认为是不好的风格,因为你必须存储一个void*而不是实际的类型?
非常感谢您的体验!
可能重复:
C的类似STL的库
是否有任何具有公共数据结构的开源C库?
是否存在C程序员用于常用数据结构(基于哈希/树的集/映射,堆等)的"标准"库?或者没有单一的,众所周知的实施方案?
(有点像Boost for C++?)