Køer er vanligvis frustrerende i det virkelige liv, men i et dataprogram kan de løse mange problemer. Finn ut hva du kan gjøre med en kø og hvordan.
Køen er en allsidig datastruktur som du kan bruke i en rekke innstillinger. Fra CPU-planleggingsalgoritmer til nettapper, det finnes overalt.
Hvis du streber etter å være en Python-utvikler, er det viktig at du kommer i gang med denne enkle, men allestedsnærværende datastrukturen. La oss lære hva kødatastrukturen er og hvordan du implementerer en i Python.
Hva er kødatastrukturen?
En kø er en lineær datastruktur som følger First-In-First-Out (FIFO)-prinsippet. Dette betyr at når du henter et element fra en kø, får du det du la til før de andre.
Her er de grunnleggende operasjonene du kan utføre på en kø:
- Enqueue: Legg til elementer i køen.
- Dequeue: Fjern elementer fra køen.
- Skriv ut: Skriv ut elementene i køen.
- Foran: Få elementet foran i køen.
- Bak: Få elementet bakerst i køen.
Du kan implementere kødatastrukturen i Python på to måter: enten ved å bruke en listebeholder eller en dobbel-endet kø fra samlingsmodulen. For dette programmet bruker du en liste.
Hvordan implementere kødatastrukturen i Python
Du skal implementere en kø ved å bruke listebeholderen i Python. Start med å erklære en tom liste med navnet kø.
kø = []
Nå må du godta brukerinndata og utføre operasjonen som er angitt av brukeren. Skriv først ut en linje som ber brukeren om å skrive inn en kommando. Vent deretter på brukerinndata og lagre det i kommando variabel.
Ved hjelp av Python if-utsagn, utfør operasjonen som tilsvarer kommandoen brukeren skriver inn. Hvis de skriver inn en ukjent kommando, avslutter du programmet. Sett disse operasjonene i en uendelig mens loop for å sikre at programmet fortsetter å kjøre med mindre de avsluttes.
samtidig somekte:
kommando = input("Hva vil du gjøre? ")hvis kommando == "kø":
# kode
elif kommando == "dequeue":
# kode
ellers:
gå i stykker
utskriftskø)
Kø
Nå du har behandlet hovedkontrollflyten til programmet, kan du definere kodeblokken for hver operasjon. Skriv først koden for kø. Enqueue betyr å sette inn et element på slutten av køen. Du kan gjøre dette ved å bruke legge til() metode:
hviskommando == "kø":
kø = int(inngang("Skriv inn elementet til Enqueue: "))
Sett av kø
Skriv nå koden for å sette et element i kø fra køen. Du kan gjøre dette ved å bruke pop-metoden med 0 som indeks. Hvorfor? Som du lærte tidligere, følger en kø FIFO-rekkefølgen, så det første elementet du setter i kø bør være det første elementet du setter i kø.
hvis kommando == "dequeue":
kø.pop(0)
Front
Gå videre, skriv koden for å skrive ut elementet foran i køen. Bare skriv ut den 0. indeksen i køen.
hvis kommando == "front":
utskriftskø[0])
Bak
På samme måte som koden for frontoperasjonen, for å utføre den bakre operasjonen, skriv ut elementet ved siste indeks. For å gjøre dette, bruk først len()-funksjonen i køen og trekk deretter 1 fra den for å finne den siste indeksen.
hvis kommando == "bak":
print (kø[len (kø) - 1])
Skrive ut
Skriv til slutt koden for utskriftskommandoen. Bare skriv ut listen ved å bruke Pythons standard skrive ut() funksjon.
hvis kommando == "skrive ut":
utskriftskø)
Hvis teksten brukeren skriver inn ikke samsvarer med en støttet kommando, bryter du ut av while-løkken med en break-setning. Den endelige koden skal se slik ut:
kø = []
samtidig somekte:
kommando = input("Hva vil du gjøre?\n")hvis kommando == "kø":
enqueue = int (input("Skriv inn elementet til Enqueue: "))
queue.append (kø)
elif kommando == "dequeue":
kø.pop(0)
elif kommando == "skrive ut":
utskriftskø)
elif kommando == "front":
utskriftskø[0])
elif kommando == "bak":
print (kø[len (kø)-1])
ellers:
gå i stykker
utskriftskø)
Kjør programmet for å prøve ut de forskjellige køoperasjonene. Bruk utskriftskommandoen for å se hvordan de påvirker køen din. Du har nå laget din egen enkle køimplementering i Python.
Køen er bare en av mange nyttige datastrukturer
Konseptet med en datastruktur er viktig som enhver informatikkstudent må mestre. Sjansen er stor for at du allerede har lært eller jobbet med noen grunnleggende datastrukturer som matriser eller lister.
Intervjuere har også en tendens til å stille spørsmål knyttet til datastrukturer, så hvis du ønsker å ta en høytbetalende programmeringsjobb, må du friske opp kunnskapen din om datastrukturer.