Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lr_hw_IZDN.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
1.12 Mб
Скачать

Лабораторна робота 5

ДОСЛІДЖЕННЯ ЛІНІЙНИХ ТА НЕЛІНІЙНИХ СТРУКТУР ДАНИХ

В МОВАХ ПАСКАЛЬ ТА СІ

Мета лабораторної роботи - вивчити можливості та особливості створення лінійних та нелінійних структур данних у мовах Паскаль та Сі.

Теоретичні відомості

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

Лінійні структури даних – це такі структури, елементи яких мають форму послідовності або лінійного списку. До лінійних структур даних відносять масиви, стеки, черги та зв’язані лінійні списки.

Стек – це структура даних, яка побудована на метафорі «магазин автомату» або «трубка з одним відкритим кінцем» та забезпечує доступ до елементів тільки з одного кінця за дисципліною «Перший увійшов – останній вийшов» - First in – Last out (LIFO). Стек забезпечує дві операції з його елементами - «помістити» - Push, та «витягнути» - Pop. Один й той же елемент може бути витягнутий зі стеку тільки один раз, коли він знаходиться на вершині.

Рис 2.1. Стек

Черга – це структура даних, яка побудована на метафорі «черга обслуговування» або «однонаправлена трубка з двома відкритими кінцями» та забезпечує дисципліну «Перший увійшов – перший вийшов» - First in – First out (FIFO). Черга забезпечує дві операції з його елементами – «Помістити у чергу» - Enqueue та «Взяти з черги» - Dequeue. Елемент може бути взятий з черги тільки один раз.

Рис. 2.2 Черга

Зв’язаний лінійний список – це структура, всі елементи якої зв’язані один з іншим за допомогою посилань. На перший елемент списку посилається окрема змінна, яка містить його адресу. Кожний елемент списку містить покажчик з адресою наступного елементу. Останній елемент списку містить посилання на null.

Рис. 2.3 Зв’язаний список

Нелінійні структури даних – це структури, елементи яких не можливо представити у вигляді послідовності. Дерево – це нелінійна структура даних, яка зберігає їх у зв’язаних вузлах, що утворюють ієрархію. Кожний вузол дерева (окрім кореневого) зв’язаний зі старшим вузлом та може бути зв’язаним з молодшими вузлами. Бінарне дерево – це таке дерево, кожний вузол якого може мати тільки два молодших вузла.

Рис. 2.4 Дерево

Завдання

Написати програми на мовах Паскаль та Сі, які складаються з наступних дій:

  1. Опису структури даних, використовуючи пойменований тип, згідно з варіантом (табл. 16).

  2. Опису вказівної змінної типу, що вказаний в п.1 даного завдання.

  3. Опису змінної індексованого типу з 10 елементів вказаного у варіанті типу даних (табл. 16) та її ініціювання.

  4. Ініціювання та створення N елементів описаної структури даних, використовуючи змінну індексованого типу, що описана в п.3 даного завдання, де N – це ціле значення з діапазону від 0 до 9.

  5. Видалення M елементів з описаної структури даних, де M – це ціле значення з діапазону від 0 до 15. Виконується тільки для лінійних структур даних.

Примітка: при ініціюванні структури даних необхідно аналізувати її переповнення. При видаленні елементів – їх відсутність.

Таблиця 16

№ варіанта

Структура даних

Тип даних

1

Лінійна: “Стек” зв’язане представлення

Дійсний

2

Лінійна: “Черга” зв’язане представлення

Символьний

3

Лінійна: “Черга” зв’язане представлення

Символьний

4

Лінійна: “Стек” зв’язане представлення

Дійсний

5

Лінійна: “Стек” зв’язане представлення

Цілий

6

Лінійна: “Черга” зв’язане представлення

Цілий

7

Лінійна: “Стек” зв’язане представлення

Дійсний

8

Лінійна: “Стек” зв’язане представлення

Цілий

9

Лінійна: “Стек” зв’язане представлення

Цілий

10

Лінійна: “Черга” зв’язане представлення

Символьний

11

Лінійна: “Черга” зв’язане представлення

Цілий

12

Лінійна: “Черга” зв’язане представлення

Дійсний

13

Лінійна: “Стек” зв’язане представлення

Цілий

14

Лінійна: “Стек” зв’язане представлення

Символьний

15

Лінійна: “Черга” зв’язане представлення

Дійсний

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]