Інформатика

Безкоштовно

Ніхто не записаний

П76. Способи реалізації структур даних. Стек і черга. Багатовимірні списки

Виконайте вправу

Прочитайте!

Стек — це виділена область оперативної пам’яті.

Стек працює в порядку LIFO (Last In, First Out), тобто останній доданий у стек фрагмент пам’яті буде першим у черзі на вихід зі стеку. Кожного разу, коли функція оголошує нову змінну, вона додається в стек. А коли ця змінна стає неактуальною (наприклад, коли функція припиняє роботу), вона автоматично видаляється зі стеку і область пам’яті стає доступною для інших стекових змінних.

Для роботи зі стеком застосовуються такі визначені для списків методи:

  • append() — для додавання нового елемента в стек;
  • pop() — для вибірки елемента із вершини стеку (вершиною стеку називають останній уведений елемент).

 

Черга в програмуванні — це структура даних, що працює за принципом «перший прийшов — перший пішов».

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

 

Багатовимірні списки

У багатовимірних (або вкладених) списках кожна група елементів списку береться у квадратні дужки. Двовимірний список можна створити, наприклад, так:

Але для наочності краще записувати так:

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

Звертатися до всіх або частини елементів списку можна за допомогою операторів циклу for і while, а також функції range(), яка розглядалася раніше. Наприклад, за допомогою оператора циклу for до них можна звернутися так:

Приклади програм опрацювання списків

Приклад 1. У списку [27, 3, 12, 22, 37, 8] знайти максимальний елемент, вилучити елемент на другій позиції, упорядкувати новий список у порядку збільшення значень його елементів зі збереженням попереднього списку, вставити в нього на четверту позицію число 5, потім замінити значення першого елемента на число 10. Програму, що реалізує це завдання:

Приклад 2. Дано два списки: [“Python розробив”, “1991”] і [“Гвидо ван”]. Розробити програму, за допомогою якої отримується рядок: Мову Python розробив у 1991 році Гвидо Ван Россум. Один із варіантів програми, що реалізує це завдання:

Приклад 3. У послідовності [4, 6, 13, 9, 5, 16, 11] знайти числа, більші 6, збільшити їх удвічі, вивести на екран і обчислити їх суму.
Варіант програми, що реалізує це завдання:

 

 

 

0.00 на основі 0 рейтингів

5 зірок
0%
4 зірок
0%
3 зірок
0%
2 зірок
0%
1 зірок
0%