Stos i kolejka
Podsumowanie roku: struktury danych, bazy i sieci - Informatyka - liceum klasa 3, zakres rozszerzony (Python)
Przypomnienie: **stos** (lista z `append` i `pop()`) oddaje ostatni dodany element, **kolejka** (`deque` z `append` i `popleft()`) pierwszy. Stos sprawdza nawiasy i liczy wyrażenia w odwrotnej notacji polskiej, kolejka obsługuje zadania w kolejności przyjścia i przeszukiwanie wszerz.
from collections import deque
stack = []
for token in "3 4 + 2 *".split():
if token in "+-*":
b, a = stack.pop(), stack.pop()
stack.append(a + b if token == "+" else a - b if token == "-" else a * b)
else:
stack.append(int(token))
print("ONP:", stack.pop())
queue = deque(["Ola", "Jan", "Ewa"])
queue.append("Piotr")
print("obsłużony:", queue.popleft(), "czekają:", list(queue))Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - liceum klasa 3, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.