Kolejki są zwykle frustrujące w prawdziwym życiu, ale w programie komputerowym mogą rozwiązać wiele problemów. Dowiedz się, co możesz zrobić z kolejką i jak.

Kolejka to wszechstronna struktura danych, której można używać w różnych ustawieniach. Można go znaleźć wszędzie, od algorytmów planowania procesora po aplikacje internetowe.

Jeśli chcesz zostać programistą Pythona, bardzo ważne jest, abyś był na bieżąco z tą prostą, ale wszechobecną strukturą danych. Dowiedzmy się, czym jest struktura danych kolejki i jak ją zaimplementować w Pythonie.

Co to jest struktura danych kolejki?

Źródło obrazu: Wikipedii

Kolejka to liniowa struktura danych zgodna z zasadą FIFO (First-In-First-Out). Oznacza to, że kiedy pobierzesz element z kolejki, otrzymasz ten, który dodałeś przed innymi.

Oto podstawowe operacje, które można wykonać na kolejce:

  • Kolejkuj: Dodaj elementy do kolejki.
  • Usuń z kolejki: Usuń elementy z kolejki.
  • Drukuj: Drukuj elementy w kolejce.
  • Przód: pobierz element z przodu kolejki.
  • Tył: Pobierz element z tyłu kolejki.

Strukturę danych kolejki można zaimplementować w Pythonie na dwa sposoby: używając kontenera list lub dwustronnej kolejki z modułu collections. W tym programie użyjesz listy.

Jak zaimplementować strukturę danych kolejki w Pythonie

Zaimplementujesz kolejkę przy użyciu kontenera list w Pythonie. Zacznij od zadeklarowania pustej listy z nazwą kolejka.

kolejka = []

Teraz musisz zaakceptować dane wprowadzone przez użytkownika i wykonać operację wprowadzoną przez użytkownika. Najpierw wydrukuj wiersz z prośbą o wprowadzenie polecenia. Następnie poczekaj na dane wprowadzone przez użytkownika i zapisz je w pliku Komenda zmienny.

Za pomocą Instrukcje if w Pythonie, wykonaj operację odpowiadającą poleceniu wprowadzonemu przez użytkownika. Jeśli wprowadzą nierozpoznane polecenie, zamknij program. Umieść te operacje w nieskończoności pętla while aby upewnić się, że program będzie działał, dopóki nie zrezygnują.

chwilaPRAWDA:
polecenie = wejście ("Co chcesz robić? ")

Jeśli polecenie == „w kolejce”:
# kod
Elif polecenie == „usunąć z kolejki”:
# kod
w przeciwnym razie:
przerwa

kolejka drukowania)

Ustaw w kolejce

Teraz, gdy poradziłeś sobie z głównym przepływem sterowania w programie, możesz zdefiniować blok kodu dla każdej operacji. Najpierw napisz kod dla enqueue. Enqueue oznacza wstawienie elementu na końcu kolejki. Możesz to zrobić za pomocą dodać() metoda:

JeśliKomenda == „w kolejce”:
kolejka = int(wejście(„Wprowadź element do kolejkowania:”))

Usuń z kolejki

Teraz napisz kod usuwający element z kolejki. Możesz to zrobić za pomocą metody pop z 0 jako indeksem. Dlaczego? Jak nauczyłeś się wcześniej, kolejka jest zgodna z porządkiem FIFO, więc pierwszy element, który umieszczasz w kolejce, powinien być pierwszym elementem, który usuwasz z kolejki.

Jeśli polecenie == „usunąć z kolejki”:
kolejka.pop(0)

Przód

Idąc dalej, napisz kod, aby wydrukować element na początku kolejki. Po prostu wydrukuj zerowy indeks kolejki.

Jeśli polecenie == "przód":
kolejka drukowania[0])

Tył

Podobnie jak w przypadku kodu operacji z przodu, aby wykonać operację z tyłu, wydrukuj element na ostatnim indeksie. Aby to zrobić, najpierw użyj funkcji len() w kolejce, a następnie odejmij od niej 1, aby znaleźć ostatni indeks.

Jeśli polecenie == "tył":
print(kolejka[len (kolejka) - 1])

Wydrukować

Na koniec napisz kod polecenia print. Po prostu wydrukuj listę, używając standardu Pythona wydrukować() funkcjonować.

Jeśli polecenie == "wydrukować":
kolejka drukowania)

Jeśli tekst wprowadzony przez użytkownika nie pasuje do obsługiwanego polecenia, przerwij pętlę while, używając instrukcji break. Ostateczny kod powinien wyglądać tak:

kolejka = []

chwilaPRAWDA:
polecenie = wejście („Co chcesz zrobić?\n”)

Jeśli polecenie == „w kolejce”:
kolejka = int (input(„Wprowadź element do kolejkowania:”))
kolejka.dołącz (dodaj do kolejki)
Elif polecenie == „usunąć z kolejki”:
kolejka.pop(0)
Elif polecenie == "wydrukować":
kolejka drukowania)
Elif polecenie == "przód":
kolejka drukowania[0])
Elif polecenie == "tył":
print (kolejka[len (kolejka)-1])
w przeciwnym razie:
przerwa

kolejka drukowania)

Uruchom program, aby wypróbować różne operacje na kolejce. Użyj polecenia print, aby zobaczyć, jak wpływają one na twoją kolejkę. Stworzyłeś teraz własną prostą implementację kolejki w Pythonie.

Kolejka to tylko jedna z wielu przydatnych struktur danych

Koncepcja struktury danych jest bardzo ważna i musi ją opanować każdy student informatyki. Możliwe, że już nauczyłeś się lub pracowałeś z niektórymi podstawowymi strukturami danych, takimi jak tablice lub listy.

Ankieterzy mają również tendencję do zadawania pytań związanych ze strukturami danych, więc jeśli szukasz dobrze płatnej pracy programistycznej, będziesz musiał odświeżyć swoją wiedzę na temat struktur danych.