我需要一个数据结构(C语言)来表示配置参数,它很容易操作:插入,删除,查找等我认为哈希太重,因为配置参数只是一些层次结构映射键值对,很可能不超过10.那么存储这些配置参数的最佳数据结构是什么。
====================
实际上我正在从yaml文件中解析配置参数,所以重点是如何存储从yaml文件解析的值,并且易于通过键查找任何值?
答案 0 :(得分:0)
如果配置变量集很小并且不太可能改变,那么最简单(但最不灵活)的方法就是声明正确的全局变量集,然后使用yaml reader来设置它们。即,像
int config1;
int config2;
...
parse_yaml_file(char *file) {
// arrange to set config1, config2, ...
}
否则,我认为将哈希表用于这样简单的事情并没有错。
答案 1 :(得分:0)
听起来你想要一棵树。类似的东西可能是:
struct ConfTreeNode {
char *key;
int value;
ConfTreeNode *child;
ConfTreeNode *next;
};