ня масиву об'єктів типу T: * objects = newT [n]; collect_obj (ulongp, T * obj, int & i);
Рекурсивний симетричний обхід дерева, що виробляє збір об'єктів в масив obj []. Мінлива i - це лічильник масиву об'єктів. Метод використовується при стисненні файлу, балансування дерева, створенні поддерева з локального набору об'ектов.split (T * obj, int a, int b);
Метод, що виробляє поділ масиву предмети на подмассіви, при цьому не започатковано вершини дерева, в які записуються ці подмассіви. Змінні AИ b використовуються як обмежувачі в масиві об'єктів obj [], вказуючи підмасив в даному виклику функції. Для ініціалізації вершин і вставки в них об'єктів використовуються методи createnode і pushtonode, описані раніше. Метод використовується при стисненні файлу, балансування дерева, створенні поддерева з локального набору об'єктів. p> У даній роботі використовується користувальницький клас Time, створений на лабораторній роботі. Для нього були перевизначені операції порівняння ==,! =, <, <=,>,> =. Решта реалізація залишилася колишньою. p align="center"> 4. Опис інтерфейсу користувача
Для демонстрації всіх функція програми була розроблена система меню, що дозволяє проводити дії над файлами в довільному порядку.
В
Малюнок 11. Меню програми
При створенні файлу потрібно вибрати його тип і ввести ім'я. Програма автоматично припише через точку до імені файлу його тип. При відкритті файлу необхідно ввести ім'я файлу з розширенням (типом файлу). Програми автоматично визначить об'єкт класу BinaryTree з яким параметром використовувати. Якщо вводиться ім'я неіснуючого файлу, програми видасть помилку. p> Можливість вибору дій реалізована за допомогою оператора switch. Для вибору дії необхідно ввести цифру і натиснути клавішу Enter. p> Вставка відбувається в двох режимах: вручну і випадковими значеннями по кілька штук. Для налаштування вибору режиму вставки, кількості вставляються випадкових значень, інтервалу значень створено пункт меню "Налаштування". br/>В
Малюнок 12. Меню налаштування
5. Контрольні приклади
Протестуємо метод вставки об'єктів. Для цього буде проводиться запис в порожній файл і замірятися час, витрачений на вставку всіх об'єктів. Результати тестування можна подивитися в таблиці 1. br/>
Таблиця 1. Результати тестування програми
Кількість вставляються об'ектовВремя вставки,В
Малюнок 13. Графік тестування
За результатами тестування видно, що додавання об'єктів у файл витрачає досить великі часові ресурси, що, очевидно, пов'язано з великим числом звернень до жорсткого диску, який набагато повільніше оперативної пам'яті.
6. Висновки
Отже, за результатами роботи ...