【问题标题】:What's the proper data structure for simple configuration parameters in C?C 中简单配置参数的正确数据结构是什么?
【发布时间】:2012-02-28 02:27:02
【问题描述】:
我需要一个数据结构(C 语言)来表示配置参数,并且它很容易操作:插入、删除、查找等。我认为哈希太重了,因为配置参数只是一些层次结构映射键值对,而且很可能不超过 10 个。那么存储这些配置参数的最佳数据结构是什么。
=====================
其实我是从 yaml 文件中解析配置参数,所以重点是如何存储从 yaml 文件中解析出来的值,并方便按键查找任何值?
【问题讨论】:
标签:
c
algorithm
data-structures
configuration
yaml
【解决方案1】:
如果配置变量集很小且不太可能更改,最直接(但最不灵活)的方法是简单地声明正确的全局变量集,然后使用 yaml 阅读器设置它们。即,类似
int config1;
int config2;
...
parse_yaml_file(char *file) {
// arrange to set config1, config2, ...
}
否则,我认为像这样简单的事情使用哈希表并没有错。
【解决方案2】:
听起来你想要一棵树。可能与此类似:
struct ConfTreeNode {
char *key;
int value;
ConfTreeNode *child;
ConfTreeNode *next;
};