був створений клас BinaryTree, який реалізує роботу зі структурою даних типу дерева. Розглянемо плюси і мінуси такого способу зберігання інформації. Безсумнівним плюсом є те, що розмір файлу обмежений тільки розміром жорсткого диска, коли як розмір оперативної пам'яті як правило багато менше розміру пам'яті вінчестера. З іншого боку, час виконань операцій може бути досить тривалим, що в деяких випадках неприйнятно. Тому даний клас переважно вибирати для зберігання даних, а якщо потрібно з ним робити якісь маніпуляції, то завантажувати його в оперативну пам'ять, звичайно ж, якщо розмір структури дозволяє це зробити. p align="justify"> Розроблений клас має деякі обмеження на типи збережених об'єктів а саме коректно записані і лічені може бути тільки статичні класи, тобто класи, що не має динамічних полів.
Деякі проблеми можуть виникнути при виведенні дерева на екран. Це пов'язано, по-перше, з обмеженням ширини вікна консолі, по-друге, з типом збережених об'єктів, які, знову ж, займають багато місця на екрані. Якщо для об'єктів перевизначена операція виведення на екран, то виводиться все буде, але не факт, що це буде текст, в якому можна щось розібрати. p align="center"> 7. Список використаної літератури
1. Джессс Ліберті Опануй самостійно С + + за 21 день/Джессс Ліберті; пров. з англ.В. Коваленко. - М.: Вільямс, 2007. - 784 с.
2. Подбельський В.В. Мова СІ + +: Учеб. посібник. - 2-е вид., Перераб. і доп. - М.: Фінанси і статистика, 1992. - 560 с.
Програми
Додаток А. Файл "class. h "
# include
# include
# include
# include std; ulong; BinaryTree: public fstream {: root;// покажчик на кореневу вершину у файлі * name;// ім'я поточного файлу
// виділення пам'яті у файлі і запис в неї об'єкта типу M ulong filemalloc (M val) {(0, ios :: end); ptr = tellp (); ((char *) & val, sizeof (M)); ptr;
};
// читання даних розміром sizeof (R) в об'єкт типу R void readvar (ulong p, R & rez) {(p); ((char *) & rez, sizeof (R));
};
// запис даних розміром sizeof (R) у файл за вказівником p void writevar (ulong p, R & var) {(p); ((char *) & var , sizeof (R));
}; createnode (T &);// ініціалізація кінцевий вершини об'єктом типу T
// вставити об'єкт в вершину по указателюpushtonode (ulong, T &, ulong); (ulong, int);// виводдереванаекран
// извлечьинформациюовершинеGetInfoNode (ulong,...