1. Список и перебор:
```python
numbers = [1, 2, 3, 4, 5]
for n in numbers:
print(n)
```
2. Стек (LIFO):
```python
stack = []
stack.append(10)
stack.append(20)
print(stack.pop()) # 20
```
3. Очередь (FIFO):
```python
from collections import deque
queue = deque()
queue.append("A")
queue.append("B")
print(queue.popleft()) # A
```
1. Реализуйте стек, который поддерживает push, pop и просмотр верхнего элемента.
2. Смоделируйте очередь на 5 человек, где каждый "обслуживается" и выходит.
3. Напишите программу, которая переворачивает список с помощью стека.
4. Реализуйте очередь с приоритетом (используя `heapq`).
1. Проверьте, является ли строка палиндромом с помощью стека.
2. Смоделируйте очередь задач: добавление, выполнение, отображение очереди.
3. Создайте собственную реализацию очереди с методами `enqueue`, `dequeue`, `is_empty`.
1. Чем отличается стек от очереди?
2. Как реализовать очередь в Python?
3. Что такое `deque` и зачем он нужен?
4. Какие операции характерны для структуры данных стек?
5. Какие реальные примеры использования стека и очереди вы можете привести?