Čakalne vrste so v resničnem življenju običajno frustrirajoče, v računalniškem programu pa lahko rešijo številne težave. Ugotovite, kaj lahko storite s čakalno vrsto in kako.

Čakalna vrsta je vsestranska podatkovna struktura, ki jo lahko uporabljate v različnih nastavitvah. Od algoritmov za razporejanje procesorja do spletnih aplikacij, najdemo ga povsod.

Če si prizadevate postati razvijalec Pythona, je bistveno, da se seznanite s to preprosto, a vseprisotno podatkovno strukturo. Naučimo se, kaj je podatkovna struktura čakalne vrste in kako jo implementirati v Python.

Kaj je struktura podatkov čakalne vrste?

Avtorstvo slike: Wikipedia

Čakalna vrsta je linearna podatkovna struktura, ki sledi načelu FIFO (First-In-First-Out). To pomeni, da ko pridobite element iz čakalne vrste, boste prejeli tistega, ki ste ga dodali pred drugimi.

Tu so osnovne operacije, ki jih lahko izvajate v čakalni vrsti:

  • V čakalno vrsto: dodajte elemente v čakalno vrsto.
  • Odstranitev iz čakalne vrste: Odstranite elemente iz čakalne vrste.
  • instagram viewer
  • Natisni: Natisnite elemente v čakalni vrsti.
  • Spredaj: Pridobite element na začetku čakalne vrste.
  • Zadaj: Pridobite element na koncu čakalne vrste.

Podatkovno strukturo čakalne vrste v Pythonu lahko implementirate na dva načina: z uporabo vsebnika seznama ali dvojno končane čakalne vrste iz modula zbirk. Za ta program boste uporabili seznam.

Kako implementirati podatkovno strukturo čakalne vrste v Python

Čakalno vrsto boste implementirali z vsebnikom seznama v Pythonu. Začnite z deklaracijo praznega seznama z imenom čakalna vrsta.

čakalna vrsta = []

Zdaj morate sprejeti uporabniški vnos in izvesti operacijo, ki jo je vnesel uporabnik. Najprej natisnite vrstico, ki uporabnika poziva k vnosu ukaza. Nato počakajte na uporabniški vnos in ga shranite v ukaz spremenljivka.

Uporaba Python if izjave, izvede operacijo, ki ustreza ukazu, ki ga uporabnik vnese. Če vnesejo neprepoznan ukaz, zaprite program. Postavite te operacije znotraj neskončnega medtem ko zanka da zagotovijo, da se program še naprej izvaja, razen če se zaprejo.

medtemPrav:
ukaz = vnos("Kaj želiš delati? ")

če ukaz == "v vrsti":
# Koda
elif ukaz == "odstranitev iz vrste":
# Koda
drugače:
odmor

tiskanje (čakalna vrsta)

V čakalno vrsto

Zdaj, ko ste se ukvarjali z glavnim nadzornim tokom programa, lahko definirate blok kode za vsako operacijo. Najprej napišite kodo za čakalno vrsto. Enqueue pomeni vstaviti element na konec čakalne vrste. To lahko storite z uporabo pripni() metoda:

čeukaz == "v vrsti":
v čakalno vrsto = int(vnos("Vnesite element v čakalno vrsto: "))

Odstrani iz vrste

Zdaj napišite kodo za odstranitev elementa iz čakalne vrste. To lahko storite z metodo pop z 0 kot indeksom. Zakaj? Kot ste že izvedeli, čakalna vrsta sledi vrstnemu redu FIFO, zato mora biti prvi element, ki ga postavite v čakalno vrsto, prvi element, ki ga odstranite iz čakalne vrste.

če ukaz == "odstranitev iz vrste":
queue.pop(0)

Spredaj

Nadaljujte, napišite kodo za tiskanje elementa na začetku čakalne vrste. Preprosto natisnite 0. indeks čakalne vrste.

če ukaz == "spredaj":
natisni (čakalna vrsta[0])

Zadaj

Podobno kot koda za sprednjo operacijo, za izvedbo zadnje operacije natisnite element na zadnjem indeksu. Če želite to narediti, najprej uporabite funkcijo len() v čakalni vrsti in nato od nje odštejte 1, da poiščete zadnji indeks.

če ukaz == "zadaj":
natisni (čakalna vrsta[len (čakalna vrsta) - 1])

Tiskanje

Nazadnje napišite kodo za ukaz za tiskanje. Preprosto natisnite seznam s standardom Python natisni() funkcijo.

če ukaz == "tisk":
tiskanje (čakalna vrsta)

Če se besedilo, ki ga uporabnik vnese, ne ujema s podprtim ukazom, prekinite zanko while s stavkom break. Končna koda bi morala izgledati takole:

čakalna vrsta = []

medtemPrav:
ukaz = vnos("Kaj želite narediti?\n")

če ukaz == "v vrsti":
enqueue = int (vhod("Vnesite element v čakalno vrsto: "))
queue.append (v čakalno vrsto)
elif ukaz == "odstranitev iz vrste":
queue.pop(0)
elif ukaz == "tisk":
tiskanje (čakalna vrsta)
elif ukaz == "spredaj":
natisni (čakalna vrsta[0])
elif ukaz == "zadaj":
natisni (čakalna vrsta[len (čakalna vrsta)-1])
drugače:
odmor

tiskanje (čakalna vrsta)

Zaženite program, da preizkusite različne operacije v čakalni vrsti. Uporabite ukaz za tiskanje, da vidite, kako vplivajo na vašo čakalno vrsto. Zdaj ste ustvarili svojo preprosto implementacijo čakalne vrste v Pythonu.

Čakalna vrsta je le ena izmed mnogih uporabnih podatkovnih struktur

Koncept podatkovne strukture je ključnega pomena, ki ga mora obvladati vsak študent računalništva. Verjetno ste se že naučili ali delali z nekaterimi osnovnimi podatkovnimi strukturami, kot so polja ali seznami.

Anketarji običajno postavljajo tudi vprašanja v zvezi s podatkovnimi strukturami, tako da, če želite dobiti visoko plačano programersko službo, boste morali osvežiti svoje znanje o podatkovnih strukturah.