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

Реферат Каталог файлів на Visual C ++





ка, (* lst) .elem - перший елемент списку. По-іншому перший елемент позначається за допомогою операції доступу до члена структури через покажчик: lst- gt; elem. Вираз lst- gt; next означає покажчик на другу ланку. Далі,

* lst- gt; next - саме друга ланка,

lst- gt; next- gt; elem - другий елемент списку,

lst- gt; next- gt; next - вказівник на третю ланку,

* lst- gt; next- gt; next - саме третя ланка,

lst- gt; next- gt; next- gt; elem - третій елемент списку, gt; next- gt; next- gt ; next - порожній покажчик (кінець списку).

Вираз 1st має й інший сенс. Воно позначає список в програмі, оскільки, знаючи покажчик на першу ланку, ми маємо доступ до всіх інших ланках, тобто знаємо весь список. З цієї точки зору вираз lst- gt; next у нашому прикладі позначає список? b, c? , А вираз lst- gt; next- gt; next- gt; next - порожній список.

Зауважимо, що сусідні ланки ланцюжка розташовуються в оперативній пам'яті довільно відносно один одного, на відміну від сусідніх компонент масиву, завжди займають суміжні ділянки пам'яті. Таке розташування ланок полегшує операції вставки і видалення, так як немає необхідності переміщати елементи, як це було б у разі реалізації списків масивами. Пояснимо це на прикладах.

Нехай зі списку? a, b, c? , Представленого в програмі змінної lst , потрібно видалити другий елемент. Для цього достатньо виключити з ланцюжка друга ланка - носій другого елементу. Змінимо покажчик в поле next першої ланки:


lst- gt; next = lst- gt; next- gt; next.


Тепер після першої ланки в ланцюжку йде ланка, що містить елемент c. Вийшов список? a, c?. Щоб виключена ланка не займало місця в пам'яті, його слід знищити за допомогою функції free (), попередньо запам'ятавши покажчик на нього в допоміжній змінної q. Отже, остаточне рішення таке:


q = lst- gt; next; lst- gt; next = lst- gt; next- gt; next;

free (q);


Покажемо на малюнку відбуваються після кожної дії зміни.




Нехай тепер потрібно вставити d після першого елементу списку? a, c?. Рішення складається з двох етапів. По-перше, необхідно створити носій - Ланка для зберігання вставляемого елемента, і занести цей елемент у поле elem носія raquo ;. По-друге, шляхом зміни покажчиків включити створене ланка в ланцюжок після першої ланки. Перший етап реалізується фрагментом


q=(link) malloc (sizeof (node)); gt; elem = d ;


де q - допоміжна змінна типу link. Фрагмент



q- gt; next = lst- gt; next;

lst- gt; next = q ;


здійснює другий етап вставки. Наступний малюнок ілюструє етапи вставки.



З прикладів видно, що довжина ланцюжка (кількість ланок в ній) може динамічно змінюватися, тобто змінюватися в процесі виконання програми. Подібно ланцюжках можна сконструювати і більш складні структури, в яких об'єкти пов'язані між собою за допомогою покажчиків. Такого роду структури даних називаються динамічними.


2. Постановка завдання


У файловій системі каталогфайлів організований у вигляді лінійного списку. Для кожного файлу в каталозі містяться такі відомості:

· ім'я файлу;

· дата створення;

· кількість звернень до файлу.

Написати програму, яка забезпечує:

· початкове формування каталогу файлів;

· висновок каталогу файлів;

· видалення файлів, дата створення яких менше заданої;

· вибірку файлу з найбільшою кількістю звернень.

Програма повинна забезпечувати діалог за допомогою меню.


3. Блок-схема




4. Інстру...


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





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

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