C преобразовать древовидную структуру в JSON - PullRequest
2 голосов
/ 12 декабря 2011

Есть ли в C разумно простой способ преобразовать структуру tree , такую ​​как приведенная ниже, в JSON?Для удобства чтения и записи в файлы и хранения между исполнениями?

Или, возможно, в другом формате (я выбираю только JSON, потому что у меня больше опыта с этим).

struct node {
  datatype data; // whatever data is inside the node
  struct node *left_ptr; // may be NULL
  struct node *right_ptr; // may be NULL
}

Спасибо,

Ответы [ 2 ]

1 голос
/ 12 декабря 2011

Конечно: сериализовать нулевой указатель как null, выбрать соответствующее представление для data (назовем это data_repr), затем сериализовать node как (псевдокод)

{ "left" : <serialize(left)>, "right" : <serialize(right)>, "data" : <data_repr>}
0 голосов
/ 12 декабря 2011

Бинарные деревья могут храниться в виде массивов . Другими словами, вы можете просто хранить datatype элементов по одному в строке. Сохраните и загрузите дерево, используя уровень обхода порядка .

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