Kolejka w tablicy cyklicznej

Kolejka i lista jednokierunkowa - Informatyka - liceum klasa 3, zakres rozszerzony (Python)

Kolejkę o ograniczonej pojemności można zbudować na tablicy stałego rozmiaru. `head` wskazuje pierwszy element, `count` mówi, ile elementów czeka. Nowy element trafia na miejsce `(head + count) % size`: po końcu tablicy wracamy na jej początek (bufor cykliczny), więc nic nie trzeba przesuwać.

size = 4
buffer = [None] * size
head = count = 0
for x in ["A", "B", "C"]:
    buffer[(head + count) % size] = x
    count += 1
for _ in range(2):
    print("obsługa", buffer[head])
    head = (head + 1) % size
    count -= 1
for x in ["D", "E", "F"]:
    buffer[(head + count) % size] = x
    count += 1
print("tablica:", buffer, "head =", head, "count =", count)

Ł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.