Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka_po_labaratornym_robotam_ASD-S.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
567 Кб
Скачать
☆

Питання до захисту :

У чому відмінність роботи стека від черги?

Відповідь:____________________________________________________

_____________________________________________________________

У чому переваги і недоліки організації структур стека і

черги?

Відповідь:____________________________________________________

_____________________________________________________________

Для моделювання яких реальних завдань зручно використовувати стек? А для яких чергу?

Відповідь:____________________________________________________

_____________________________________________________________

З якою метою в програмах виконується перевірка на порожнечу стека і черги?

Відповідь:____________________________________________________

_____________________________________________________________

Роботу виконав Роботу переві

Лабораторна робота №3

«Розробка програми створення зв'язаного списку в С++»

1 Тема роботи: Використання зв'язаного список із записів, та реалізація операцій зі зв'язаним списком.

2 Мета роботи: Формування знань і умінь по роботі з динамічною пам'яттю. Придбання навичок роботи з динамічними структурами даних.

3 Теоретичний матеріал

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

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

Рисунок 3.1 ­– Зв’язаний список

Одне з полів кожного об'єкта пов'язаного списку має тип вказівник і вказує на черговий об'єкт в списку. Вказівник на перший об'єкт міститься в змінної First, а останній об'єкт має вказівник на Nil.

4 Хід виконання практичної роботи

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

void Input(element &elem); - Функція введення даних в структуру.

void Add(element &elem); - Функція для додавання значень в список .

void Show(); - Функція для відображення списку на екрані

element *temp=Head; - Визначаємо покажчик, який спочатку він дорівнює адресою початку списку.

int N,menu, ydal; - Число елементів в список.

Auto lst; - Змінна, тип якої список .

cin >> N; - Вказали скільки елементів вводити в список .

lst.Show(); - Виведення списку на екран.

lst.Add(elem); - Додавання елемента в список .