Č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?
Č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.
- 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.