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.