Хранить структуру данных с указателями на файл? - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь сохранить следующий экземпляр класса с указателями на файл.

class wavelet_tree {
public:

    std::set<char> alphabet;
    char middle;
    wavelet_tree* Right;
    wavelet_tree* Left;

Я не могу найти правильный способ записи этих данных и чтения из файла. Спасибо.

1 Ответ

1 голос
/ 04 ноября 2019

Классическая рекурсивная прогулка по дереву может помочь. Т.е. что-то вроде:

void wavelet_tree_to_stream(std::ostream& to, const wavelet_tree* node) {
   to << "{"
   to << "\"alphabet\":\"" << node->alphabet << "\"";
   to << ',';
   to << "\"middle\": \"" << node->middle << "\"";
   if(nullptr != node->Left) {
      to << ",\"Left\" : ";
      wavelet_tree_to_stream(to, node->Left);
   }
   if(nullptr != node->Right) {
      to << ",\"Right\" : ";
      wavelet_tree_to_stream(to, node->Right);
   }
   to << "}";
}
......
wavelet_tree_to_stream(fstream, root);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...