Python nudi brojne ugrađene module, funkcije i izjave koji pomažu programerima da lako izvršavaju razne složene zadatke. Također pruža mnoštvo ugrađenih struktura podataka poput popisa, nabora i rječnika, koji osiguravaju učinkovito stvaranje i upravljanje podacima u aplikacijama. Red čekanja je struktura podataka koja pohranjuje i upravlja podacima. Pohranjuje podatke u redoslijedu prvi ulaz, prvi izlaz (FIFO). Prvo će se ukloniti element koji je prvi umetnut. Rad reda možemo shvatiti iz primjera svakodnevnog života. To je poput reda kupaca; prvi je olakšan kupac koji je prvi. U Pythonu red možemo stvoriti na sljedeće načine:
- Popis
- red.Red
- zbirke.deque
Ovaj članak detaljno objašnjava Python Queue s Primjerom.
Uobičajene operacije u redu čekanja:
Postoji mnogo operacija vezanih uz red čekanja. Međutim, ovo su 4 uobičajene operacije u redu čekanja:
- Stavite u red čekanja
- Dequeue
- Ispred
- Stražnji
Operacija enqueue izvodi se za dodavanje stavke u red, dok dequeue uklanja stavke iz reda istim redoslijedom u kojem su umetnute. Uz to, prednja operacija vraća prvu, a stražnja zadnju stavku u redu.
Implementacija reda čekanja pomoću popisa
Popis je široko korištena Pythonova ugrađena struktura podataka koja redoslijedno raspoređuje stavke. S popisom možemo koristiti funkcije append () i pop (), koje se koriste za umetanje i uklanjanje stavki iz reda, odnosno. Funkcija append () dodaje stavku na kraju popisa. Pop funkcija uzima indeks kao argument i uklanja stavku s popisa. Na popis možemo pohraniti predmete bilo koje vrste. Implementirajmo red koristeći Python popis.
#kreiranje reda pomoću popisa#definiranje popisa
moj_red = []
#inserting the items in queue
moj_red.dodati (1)
moj_red.dodati (2)
moj_red.dodati (3)
moj_red.dodati (4)
moj_red.dodati (5)
print ("Stavke u redu:")
ispis (my_queue)
#removing items from queue
ispis (my_queue.pop (0))
ispis (my_queue.pop (0))
ispis (my_queue.pop (0))
ispis (my_queue.pop (0))
#printing red nakon uklanjanja elemenata
print ("Stavke u redu:")
ispis (my_queue)
U gore navedenom primjeru proslijedili smo indeks 0 funkciji pop () jer moramo ukloniti prvu dodanu stavku.
Izlaz
Kao što je prethodno rečeno, možemo pohraniti bilo koju vrstu stavki na popis, pa stvorimo red koristeći popis koji sadrži stavke heterogenog tipa.
#kreiranje reda pomoću popisa#definiranje popisa
moj_red = []
#inserting the items in queue
moj_red.dodati (1)
moj_red.dodati ("a")
moj_red.dodati (2)
moj_red.dodati ("b")
moj_red.dodati (3)
print ("Stavke u redu:")
ispis (my_queue)
#removing items from queue
ispis (my_queue.pop (0))
ispis (my_queue.pop (0))
ispis (my_queue.pop (0))
ispis (my_queue.pop (0))
#printing red nakon uklanjanja elemenata
print ("Stavke u redu:")
ispis (my_queue)
Izlaz
Implementacija reda čekanja.Red
Red je ugrađeni Python modul koji se koristi za stvaranje i implementaciju redova. Atribut max size inicijalizira veličinu reda. Mnogo je funkcija dostupno u modulu reda. Na primjer, funkcija put () dodaje stavku u red, funkcija get () uklanja element iz reda, a funkcija qsize () vraća veličinu reda. Implementirajmo red koristeći modul reda.
#importing modul redared uvoza
#kreiranje reda veličine 5
my_queue = red.Red čekanja (maks. Veličina = 5)
#inserting the items in queue
moj_red.staviti (1)
moj_red.staviti (2)
moj_red.staviti (3)
moj_red.staviti (4)
moj_red.staviti (5)
print ("Veličina reda je:", my_queue.qsize ())
#removing items from queue
ispis (my_queue.dobiti())
ispis (my_queue.dobiti())
ispis (my_queue.dobiti())
ispis (my_queue.dobiti())
print ("Veličina reda je:", my_queue.qsize ())
Izlaz
Implementacija reda čekanja pomoću dequea
Deque je klasa modula zbirki. U usporedbi s popisom, deque brže izvršava operacije enqueue i dequeue. Funkcije append () i popleft () ubacuju i uklanjaju stavke iz reda. Implementirajmo red koristeći deque.
#uvoz modula zbirkiuvoz zbirki
#kreiranje reda
my_queue = zbirke.deque ()
#inserting the items in queue
moj_red.dodati (1)
moj_red.dodati (2)
moj_red.dodati (3)
moj_red.dodati (4)
moj_red.dodati (5)
print ("Stavke u redu su:")
ispis (my_queue)
#removing items from queue
ispis (my_queue.popleft ())
ispis (my_queue.popleft ())
ispis (my_queue.popleft ())
ispis (my_queue.popleft ())
print ("Stavke u redu su:")
ispis (my_queue)
Izlaz
Zaključak
Red se koristi za spremanje podataka i upravljanje njima. Pohranjuje podatke u FIFO redoslijedu. Red čekanja u Pythonu može se implementirati na tri načina, što je objašnjeno u ovom članku s primjerima.