
- •1.Перелічені типи
- •2.Обєднані типи
- •3.Строкові типи
- •4.Типи що індексуються
- •5.Типи що іменуються Іменовані (комбіновані) типи
- •Механізм обробки значень іменованого типу.
- •Відмінність в застосуванні іменованого та індексованого типів
- •Ініціалізація об’єктів іменованого типу
- •6.Сортування компонентів мультизначення типу, що індексується.
- •7.Структури даних. Загальні положення
- •8.Лінійні структури даних Лінійні структури даних
- •Лінійний список
- •Підходи до реалізації списку
- •9.Векторне представлення лінійних структур даних
- •10.Звязне представлення лінійних структур даних
- •11.Підпрограми.Загальні положення Підпрограма. Визначення.
- •Застосування підпрограм
- •Відкриті та закриті підпрограми
- •Інтерфейс підпрограми
- •12.Відкриті підпрограми Відкриті підпрограми. 1
- •13.Закриті підпрограми Закриті підпрограми.
- •14.Локальні та глобальні об’єкти підпрограм Локальні об'єкти підпрограм. 1
- •Глобальні об'єкти підпрограм
- •15. Процедурна абстракція та абстракція керування
- •16.Способи передачі параметрів у підпрограму Способи передачі значень параметрів підпрограми.
- •Способи передачі значень параметрів підпрограми.
- •17.Способи повернення результат із підпрограм
- •18.Процедурний тип та покажчики на функцію Процедурний тип
- •Вказівник на функцію
- •19.Абстрактні типи даних. Загальні положення
- •20.Реалізація абстрактних типів даних
8.Лінійні структури даних Лінійні структури даних
В основі більшості лінійних структур даних покладено поняття лінійного списку.
Лінійний список– це впорядкована множина, яка складається з n-элементов (вузлів). Структурні властивості множини обмежуються лінійним положенням вузлів. Якщо n > 0, а X – список (множина вузлів), то х1 Î Х – перший вузол, а хnÎ Х – останній вузол лінійного списку.
У вузлах списку є дві частини (поля). Перша частина, містить значення наперед визначених або раніше визначених типів. Обробка саме цих значень є метою програми. Друга частина містить значення-зв’язки (посилання), які пов’язують вузли між собою.
Лінійний список
Список може бути односпрямованим , якщо його вузли мають зв’язки , які спрямовані тільки від голови до останнього вузла хвоста, і двоспрямованими , якщо його вузли мають що зв’язки додатково спрямовані від останнього вузла хвоста до голови.
Оскільки можна вказати лексикографічний порядок вузлів , то список ще називається зв’язним, При цьому односпрямований список називається однозв’язним а двоспрямований – двозв’язним.
До списку можна застосовувати , наприклад, такі операції робити список на два списку , об’єднати два списки, додати вузли до списку.
Підходи до реалізації списку
З погляду реалізації списку в пам’яті даних можна розглядати два підходи
Вузли списку розміщуються в суміжних ділянках памяті , утворюючи масив.
Вузли списку розміщуються в довільних ділянках памяті, зявзуючись спеціальним чином і утворюючи шляхом зчеплення вузлів , або зв’язний список.
Другий підхід зазвичай реалізується за допомогою механізму динамічного розподілу памяті.
На основі лінійного списку будуються лінійні структури - Стек, черга, дек
Стек
Стек – це лінійний список , в якому всі включення і виключення вузлів здійснюються в одному кінці списку , який називається вершиною.
Черга
Черга – це лінійний список , в якому всі проводяться в одному кінці а всі виключення в іншому.
Дек
Дек – ц е лінійний список в якому всі включення та виключення виконуються з обох боків.
9.Векторне представлення лінійних структур даних
Для всіхлінійних структур данихвекторний список моделюєтьсязначеннямиіндексованого типу. В цьомувипадкучастішевсьоговекторний список подається у виглядікільця.
При виконаннізавданнялабораторноїроботипропонується для зберігання та обробкизначень списку (стека, черги) використовуватиіндексованузмінну, щозберігатимеодновимірнемультизначення з компонентів того типу, якиймаютьданнілінійного списку, а для вказівки на один або два кінця списку – змінніцілого типу, щозберігатимутьіндексикомпонентів–крайніхвузлів списку.
10.Звязне представлення лінійних структур даних
Для всіхлінійних структур данихзв'язний список моделюється за допомогоювказівнихзмінних і динамічногорозподілупам'яті в «купі». При цьомузначенняв «купі» не розташовуютьсявпритул, а навігація у списку здійснюєтьсязавдякизв’язкамвузлів списку.
При виконанні завдання лабораторної роботи пропонується для зберігання та обробки значень списку (стека, черги) використовувати показчик іменованого типу, одне поле якого зберігатиме данні, інші поля, описані типом-показчиком на той самий іменований тип, відповідатимуть за зчеплення вузлів.