Лабораторна робота
Завдання для вариантів 1 - 5. Створити функції для роботи з однозв'язним списком: додавання елемента після заданого, у початок й у кінець, видалення елемента за ключем, пошук елемента за ключем, обмін двох елементів списку місцями, роздрук списку. Список представлений масивом і на динамічній пам'яті.
Завдання для вариантів 6 - 10. Створити функції для роботи із двузв'язним списком: додавання елемента після заданого, у початок й у кінець, видалення елемента за ключем, пошук елемента за ключем, обмін двох елементів списку місцями, роздрук списку. Список представлений масивом і на динамічній пам'яті.
- Підрахувати кількість нулів у векторі й замінити кожен нуль його номером. Наприклад, був масив 0,1,3,6,0,0,4. Став: 1,1,3,6,2,3,4.
- Знайти максимальний і мінімальний елементи вектора й поміняти їх місцями.
- Знайти кількість різних чисел у векторі цілих чисел. Наприклад, у векторі 1, 2, 2, 1 усього два різних числа.
- Вилучити з вектора цілих чисел всі елементи з парними ключами.
- Вилучити з вектора цілих чисел всі елементи з непарними ключами.
- Дано два вектори елементів, відсортованих за зростаням. Підрахувати кількість однакових елементів у цих векторах, тобто кількість t, для яких t = ai = bj, для деяких i та j.
- Дано одномірний вектор елементів, вибрати в ньому будь-який елемент (позначимо його b) і заповнити інший вектор так, щоб спочатку йшли всі елементи менше b, потім рівні b, потім більші b.
- Дано одномірний вектор елементів, заповнити інший вектор так, щоб спочатку йшли всі парні елементи, а потім непарні.
- Дано вектор елементів. Переставити елементи вектора у зворотньому порядку.
- Додати за кожним елементом вектора цілих чисел його подвоєне значення.
Контрольні запитання і завдання
1. Що таке лінійної структури даних?
2. У чому переваги й недоліки статичних структур у порівнянні з динамічними?
3. У чому переваги й недоліки динамічних структур у порівнянні зі статичними?
4. Перелічіть існуючі лінійні структури даних.
5. Опишіть, як здійснюються операції вставки елемента в однозв'язний і двузв'язний список.
6. Опишіть, як здійснюються операції пошуку елемента в однозв'язному й двузв'язному списках.
7. Опишіть як здійснюються операції видалення елемента в однозв'язному й двузв'язному списках.
8. Які види дерев Вам відомі? Які властивості виконуються для них?
9. Які існують алгоритми обходу дерев? Приведіть практичний приклад їхнього використання.