Какова правильная структура данных для простых параметров конфигурации в C? - PullRequest
1 голос
/ 28 февраля 2012

Мне нужна структура данных (язык C) для представления параметров конфигурации, и было бы легко манипулировать: вставлять, удалять, искать и т. Д. Я думаю, что хеш слишком тяжелый, потому что параметры конфигурации являются просто отображенной иерархией пары ключ-значение, и, скорее всего, не более 10. Итак, какая структура данных лучше всего подходит для хранения этих параметров конфигурации.

====================

на самом деле я анализирую параметры конфигурации из файла yaml, поэтому вопрос в том, как сохранить значения, проанализированные из файла yaml, и легко найти любые значения по ключу?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2012

Звучит так, будто ты хочешь дерево.Возможно, что-то похожее на это:

struct ConfTreeNode {
    char *key;
    int value;
    ConfTreeNode *child;
    ConfTreeNode *next;
};
0 голосов
/ 28 февраля 2012

Если набор переменных конфигурации мал и вряд ли изменится, самый простой (но наименее гибкий) способ - просто объявить правильный набор глобальных переменных, а затем использовать читатель yaml для их установки.То есть что-то вроде

int config1;
int config2;
...
parse_yaml_file(char *file) {
    // arrange to set config1, config2, ...
}

В противном случае, я думаю, что нет ничего плохого в использовании хеш-таблицы для чего-то простого, как это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...