【问题标题】: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;
      };
      

      【讨论】:

        猜你喜欢
        • 2014-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-04
        • 2021-07-03
        • 1970-01-01
        相关资源
        最近更新 更多