Järjekorrad valmistavad tavaliselt päriselus meelehärmi, kuid arvutiprogrammis võivad need lahendada palju probleeme. Uurige, mida saate järjekorraga teha ja kuidas.

Järjekord on mitmekülgne andmestruktuur, mida saate kasutada erinevates seadetes. Alates protsessori ajastamise algoritmidest ja lõpetades veebirakendustega – seda leidub kõikjal.

Kui soovite saada Pythoni arendajaks, on ülioluline, et saaksite selle lihtsa, kuid kõikjal esineva andmestruktuuriga kursis. Vaatame, mis on järjekorra andmestruktuur ja kuidas seda Pythonis rakendada.

Mis on järjekorra andmestruktuur?

Pildi krediit: Vikipeedia

Järjekord on lineaarne andmestruktuur, mis järgib FIFO (First-In-First-Out) põhimõtet. See tähendab, et järjekorrast elemendi toomisel saate selle, mille lisasite enne teisi.

Siin on põhitoimingud, mida saate järjekorras teha.

  • Järjekord: lisage järjekorda elemendid.
  • Järjekorrast eemaldamine: eemaldage järjekorrast elemendid.
  • Prindi: printige järjekorras olevad elemendid.
  • Esiosa: hankige element järjekorra ees.
  • Taga: hankige element järjekorra tagumises osas.

Järjekorra andmestruktuuri saab Pythonis rakendada kahel viisil: kasutades kas loendikonteinerit või kahe otsaga järjekorda kogude moodulist. Selle programmi jaoks kasutate loendit.

Kuidas Pythonis järjekorra andmestruktuuri rakendada

Järjekorra juurutamiseks kasutatakse Pythonis loendikonteinerit. Alustage tühja loendi deklareerimisest nimega järjekorda.

järjekord = []

Nüüd peate nõustuma kasutaja sisendiga ja sooritama kasutaja sisestatud toimingu. Esmalt printige välja rida, mis palub kasutajal käsk sisestada. Seejärel oodake kasutaja sisestust ja salvestage see kausta käsk muutuv.

Kasutades Python if avaldused, sooritage kasutaja sisestatud käsule vastav toiming. Kui nad sisestavad tundmatu käsu, sulgege programm. Pange need toimingud lõpmatusse samas silmus tagamaks, et programm jätkab töötamist, kui nad ei sulge.

samal ajalTõsi:
käsk = input("Mida sa teha tahad? ")

kui käsk == "järjekorda":
# kood
elif käsk == "järjekorda":
# kood
muidu:
murda

print (järjekord)

Järjekord

Nüüd, kui olete tegelenud programmi peamise juhtimisvooga, saate määrata iga toimingu jaoks koodiploki. Esmalt kirjutage järjekorra kood. Järjekord tähendab elemendi sisestamist järjekorra lõppu. Seda saate teha kasutades lisa () meetod:

kuikäsk == "järjekorda":
järjekord = int(sisend("Sisestage järjekorda element:"))

Järjekorrast lahkumine

Nüüd kirjutage kood elemendi järjekorrast eemaldamiseks. Seda saate teha popmeetodil, mille indeks on 0. Miks? Nagu varem teada saite, järgib järjekord FIFO järjekorda, seega peaks esimene element, mille järjekorda lisate, olema esimene element, mille järjekorda soovite.

kui käsk == "järjekorda":
queue.pop(0)

Esiosa

Edasi liikudes kirjutage kood järjekorra esiosa elemendi printimiseks. Printige lihtsalt välja järjekorra 0. indeks.

kui käsk == "ees":
print (queue[0])

Tagumine

Sarnaselt eesmise toimingu koodiga printige tagumise toimingu sooritamiseks element viimase indeksina. Selleks kasutage esmalt järjekorras funktsiooni len() ja seejärel lahutage sellest 1, et leida viimane indeks.

kui käsk == "tagumine":
print (queue[len (järjekord) - 1])

Prindi

Lõpuks kirjutage printimise käsu kood. Lihtsalt printige loend Pythoni standardi abil välja print() funktsiooni.

kui käsk == "printida":
print (järjekord)

Kui kasutaja sisestatud tekst ei ühti toetatud käsuga, murdke break-lause abil while-tsüklist välja. Lõplik kood peaks välja nägema selline:

järjekord = []

samal ajalTõsi:
käsk = input("Mida sa teha tahad?\n")

kui käsk == "järjekorda":
enqueue = int (input("Sisestage järjekorda element:"))
queue.append (järjekord)
elif käsk == "järjekorda":
queue.pop(0)
elif käsk == "printida":
print (järjekord)
elif käsk == "ees":
print (queue[0])
elif käsk == "tagumine":
print (queue[len (järjekord)-1])
muidu:
murda

print (järjekord)

Käivitage programm, et proovida erinevaid järjekorra toiminguid. Kasutage printimiskäsku, et näha, kuidas need teie järjekorda mõjutavad. Olete nüüd Pythonis loonud oma lihtsa järjekorra rakendamise.

Järjekord on vaid üks paljudest kasulikest andmestruktuuridest

Andmestruktuuri kontseptsioon on ülioluline, mida iga arvutiteaduse tudeng peab valdama. Võimalik, et olete juba õppinud või töötanud mõne põhilise andmestruktuuriga, nagu massiivid või loendid.

Intervjueerijad kipuvad esitama ka andmestruktuuridega seotud küsimusi, nii et kui otsite kõrgepalgalist programmeerimistööd, peate värskendama oma teadmisi andmestruktuuride kohta.