- •Короткі теоретичні відомості.
- •2. Привести постановку задачі відповідно варіанту завдання. 3. Розробити алгоритми і проілюструвати їх структурограмами Насі- Шнейдермана основних
- •Короткі теоретичні відомості.
- •4. Лінійний однозв'язний список.
- •10) З бігу на ковзанах ( чоловіки і жінки на 500 м, 1000 м, 5000 м )
- •Література
10) З бігу на ковзанах ( чоловіки і жінки на 500 м, 1000 м, 5000 м )
В програмі реалізувати основні операції обробки списків з каталогами : формування, додавання , вилучення і пошук записів в списку. Варіанти подавання списків: 1. Послідовно – індексно- послідовне; 2. Послідовно – індексно – зв’язне; 3. Зв’язно – індексно послідовне; 4. Зв’язно – індексно – зв’язне.
Короткі теоретичні відомості.
Списки з каталогами являють собою приклад статичних та динамічних нелінійних структур.
Списки з каталогами використовуються для збереження інформації в спеціальному вигляді. В ролі каталогів може виступати інформація, що характерна для всіх даних і забезпечує їх повну ідентифікацію. При цьому об'єм цієї інформації постійний, а кількість може змінюватись. В ролі підкаталогів виступає додаткова інформація, кількість і розмір якої може бути різним і динамічно змінюватись.
Існує три види представлення списків з каталогами:
Послідовно - індексно - послідовний;
Послідовно - індексно - зв'язний або зв'язний - індексно - послідовний;
Зв'язний - індексно - зв'язний;
Для реалізації першого виду представлення списків з каталогами можна використовувати просту структуру - масив записів. Каталоги Підкаталоги
Каталог
1
Каталог 2
….
Каталог N
Підкаталог11
Підкаталог 12 …. Підкаталог
1M
Підкаталог 21
Підкаталог 22 … Підкаталог
2M
…
… …
…
Підкаталог N1 Підкаталог N2
… Підкаталог NM
Опис послідовно індексно послідовного списку засобами МВР :
а) опис елемента підкаталога: int m=50; // Кількість спортсменів на кожній дистанції int n= 10; // Кількість дистанцій змагання по бігу struct TelPodk{ int StartNum; char Strana []; char FIO[]; float Rezultat;
} ;
б) опис елемента каталога:
struct TelKat{ char Dist[]; TelPodk Podk[m]; }; Оголошується масив каталогів TelKat PiPsp[n]; Для реалізації другого виду представлення можна використовувати або масив, який крім інформації каталогу має ще й вказівку на перший елемент підкаталогу, який в свою чергу можна представити у вигляді списку. Або це буде список, змістовна частина якого буде зберігати інформацію каталогу та масив з інформацією підкаталогу.
Опис послідовно індексно зв'язного списку засобами МВР :
а) опис елемента підкаталога: struct TelPodk{ int StartNum; char Strana []; char FIO[]; float Rezultat; TelPodk *Next;
} *Podk[m];
б) опис елемента каталога: struct TelKat { char Dist[]; TelPodk * Uk; } PiSsp[n]; Третій вид представлення можна реалізувати за допомогою списків, де кожен елемент списку каталогів містить інформацію каталогу та вказівку на перший елемент списку підкаталогів.
Опис зв'язно індексно зв'язного списку засобами МВР :
а) опис елемента підкаталога: struct TelPodk{ int StartNum; char Strana []; char FIO[]; float Rezultat; TelPodk *Next;
} ;
б) опис елемента каталога: struct TelKat { char Dist[]; TelPodk *UkPodk; TelKat * Uk; };
Всі без винятку операції, які дозволені над статичними і дінамічними структурами даних , дозволені і реалізуються при обробці даних, представляємих списками з каталогами того чи іншого подавання. Зручність обробки даних, ефективність використання пам'яті, швидкість доступу є критеріями вибору того чи іншого способу подавання і частіш всього визначається особливостями задачі і предметної галузі. Класи задач, в яких перевага надається використанню списків з каталогами , належать до задач розбудови інформаційних систем.
Запити до захисту лабораторної роботи.
Способи подавання каталогу і підкаталогу в послідовно індексно-послідовному списку.
Зробити опис елемента каталогу цього списку.
Привести опис елемента підкаталогу списка.
Способи подавання каталогу і підкаталогу в зв'язному індексно-послідовному списку.
Зробити опис елемента каталогу цього списку.
Привести опис елемента підкаталогу списка.
Способи подавання каталогу і підкаталогу в зв'язному індексно-зв'язному списку.
Зробити опис елемента каталогу цього списку.
Привести опис елемента підкаталогу списка.
Розробити алгоритм пошуку елемента підкаталога в зв'язному індексно-зв'язному списку.