Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Робота зі структурою двійкового файлу

Реферат Робота зі структурою двійкового файлу





n="justify"> В· 2, якщо видалено останній об'єкт з проміжної вершини.

Метод стиснення файлу

void compress ();

Стиснення файлу шляхом збору корисної інформації з файлу і створення нового файлу і дерева в ньому на основі цієї інформації. Використовує безліч допоміжних методів, які буде описані далі. p align="justify"> Метод відображення інформації на екран

void showfile (); showfile (ulong p, int sp);

Відображення дерева в консолі. Для зручності реалізації та з огляду на те, то ширина консольного вікна обмежена, дерево виводиться "боком", тобто воно повернене на вліво. (Малюнок 10)


В 

Малюнок 10. Приклад виведення дерева з об'єктів типу intна екран


Метод без параметрів публічний і викликається з main (). Метод з параметрами виконує безпосередньо висновок на екран, приймаючи на вхід файловий покажчик pна вершину дерева і кількість прогалин для відступу від краю до даних вершини. Це робиться для того, щоб отделеіть візуально рівні дерева. Далі рекурсивно викликається ця ж сама функція, передаючи їй покажчик на нащадка і кількість прогалин sp + n, де n кількість прогалин необхідне для відображення даних одного вузла. p> Оскільки структура даних може містити об'єкти різних типів, у тому числі і для користувача класи, можливий випадок, когдаместо займає на екрані одним об'єктом досить велика, наприклад об'єкт рядок. Тоді доцільно виводити кожен об'єкт такого типу з нового рядка. У даній роботі використовується користувальницький клас Time, реалізований на лабораторних роботах. Об'єкт класу на екрані виглядає наступним чином:

четвер 17 19: 19: 20

очевидно, що краще виводити кожен новийтакой об'єкт з нового рядка.

щоб не вводити спеціалізацію методадля таких класів, як Time, можна використовувати механізм динамічної ідентифікації типів RTTI. Тоді все можна зробити одним методом, перевіряючи в ньому тип вхідного об'єкту за допомогою класу typeid (T) і його поля name, і використовувати для нього свій формат виводу. p> Прості чисельні типи виводяться на екран через пропуск.

Допоміжні методи

voidGetInfoNode (ulongp, ulong & l, ulong & r, ulong & n, ulong * m);

Метод, що зчитує інформацію у вершині, що знаходиться за вказівником p, таку як, покажчик на ліве і праве піддерево, коліество об'єктів в МУ і сам МУ. Записує інформацію в змінні, передані за посиланням (l, r, NИ m відповідно). Numberofnode (ulongp, ulong & num);

Рекурсивний симетричний обхід дерево (ліве-корінь-праве), що виробляє підрахунок кількості об'єктів у дереві. Зберігає кількість в змінну num, передане за посиланням. Метод використовується при стисненні файлу, балансування дерева, створенні поддерева з локального набору об'єктів. Безпосередньо він використовується для оголошен...


Назад | сторінка 5 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Обробка набору даних, представленого у вигляді файлу
  • Реферат на тему: Практична обробка набору даних, представленого у вигляді файлу
  • Реферат на тему: Клас двійкового файлу, похідний від fstream
  • Реферат на тему: Побудова та аналіз взаємодії дерева цілей і дерева систем організації
  • Реферат на тему: Створення меню без файлу опису ресурсів на основі функції LoadMenuIndirect ...