Python poskytuje mnoho zabudovaných modulov, funkcií a príkazov, ktoré programátorom pomáhajú ľahko vykonávať rôzne komplikované úlohy. Poskytuje tiež mnoho zabudovaných dátových štruktúr, ako sú zoznamy, n-tice a slovníky, ktoré zabezpečujú efektívne vytváranie a správu údajov v aplikáciách. Fronta je dátová štruktúra, ktorá ukladá a spravuje údaje. Ukladá údaje v poradí podľa poradia príchodu a výdaja (FIFO). Prvok, ktorý sa vloží ako prvý, sa najskôr odstráni. Fungovanie fronty môžeme pochopiť z nášho príkladu z každodenného života. Je to ako fronta zákazníkov; zákazník, ktorý je na prvom mieste, je uľahčený ako prvý. V Pythone môžeme frontu vytvoriť nasledujúcimi spôsobmi:
- Zoznam
- poradie.Fronta
- zbierky.deque
Tento článok podrobne vysvetľuje príklad Python Queue.
Bežné operácie vo fronte:
Existuje veľa operácií súvisiacich s frontom. Toto sú však 4 bežné operácie vo fronte:
- Zaradiť do poradia
- Dequeue
- Predné
- Zadné
Operácia zaradenia do frontu sa vykonáva na pridanie položky do poradia, zatiaľ čo zaradenie do poradia odstráni položky z poradia v rovnakom poradí, v akom boli vložené. Predná operácia navyše vráti prvú a zadná operácia vráti poslednú položku vo fronte.
Implementácia do frontu pomocou zoznamu
Zoznam je široko používanou dátovou štruktúrou zabudovanou v Pythone, ktorá zaraďuje položky do postupnosti. V zozname môžeme použiť funkcie append () a pop (), ktoré slúžia na vkladanie a odstraňovanie položiek z poradia, resp. Funkcia append () pridá položku na koniec zoznamu. Funkcia pop berie index ako argument a odstráni položku zo zoznamu. Do zoznamu môžeme uložiť položky ľubovoľného typu. Implementujme front pomocou zoznamu Pythonu.
#vytvorenie poradia pomocou zoznamu# definovanie zoznamu
my_queue = []
# vloženie položiek do poradia
my_queue.pridať (1)
my_queue.pridať (2)
my_queue.pridať (3)
my_queue.pridať (4)
my_queue.pridať (5)
print ("Položky vo fronte:")
print (my_queue)
#odstránenie položiek z poradia
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
# vytlačiť poradie po odstránení prvkov
print ("Položky vo fronte:")
print (my_queue)
V uvedenom príklade sme odovzdali index 0 funkcii pop (), pretože musíme odstrániť prvú pridanú položku.
Výkon
Ako sme už diskutovali, do zoznamu môžeme uložiť akýkoľvek typ položiek, vytvorme teda rad pomocou zoznamu, ktorý obsahuje položky heterogénneho typu.
#vytvorenie poradia pomocou zoznamu# definovanie zoznamu
my_queue = []
# vloženie položiek do poradia
my_queue.pridať (1)
my_queue.pridať („a“)
my_queue.pridať (2)
my_queue.pridať („b“)
my_queue.pridať (3)
print ("Položky vo fronte:")
print (my_queue)
#odstránenie položiek z poradia
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
# vytlačiť poradie po odstránení prvkov
print ("Položky vo fronte:")
print (my_queue)
Výkon
Implementácia frontu pomocou frontu.Fronta
Fronta je vstavaný modul Pythonu, ktorý sa používa na vytváranie a implementáciu front. Atribút max size inicializuje veľkosť frontu. Vo frontovom module je k dispozícii veľa funkcií. Napríklad funkcia put () pridá položku do frontu, funkcia get () odstráni prvok z frontu a funkcia qsize () vráti veľkosť frontu. Implementujme front pomocou modulu front.
#importovanie modulu frontyporadie importu
#vytvorenie frontu veľkosti 5
my_queue = front.Poradie (maximálna veľkosť = 5)
# vloženie položiek do poradia
my_queue.dať (1)
my_queue.dať (2)
my_queue.dať (3)
my_queue.dať (4)
my_queue.dať (5)
print ("Veľkosť frontu je:", my_queue.qsize ())
#odstránenie položiek z poradia
print (my_queue.dostať ())
print (my_queue.dostať ())
print (my_queue.dostať ())
print (my_queue.dostať ())
print ("Veľkosť frontu je:", my_queue.qsize ())
Výkon
Implementácia frontu pomocou deque
Deque je modul triedy zbierok. V porovnaní so zoznamom deque vykonáva operácie zaradenia a zaradenia rýchlejšie. Funkcie append () a popleft () vkladajú a odstraňujú položky z poradia. Implementujme front pomocou deque.
#importovanie modulu zbierokimportovať zbierky
#vytvorenie frontu
my_queue = zbierky.deque ()
# vloženie položiek do poradia
my_queue.pridať (1)
my_queue.pridať (2)
my_queue.pridať (3)
my_queue.pridať (4)
my_queue.pridať (5)
print ("Položky vo fronte sú:")
print (my_queue)
#odstránenie položiek z poradia
print (my_queue.popleft ())
print (my_queue.popleft ())
print (my_queue.popleft ())
print (my_queue.popleft ())
print ("Položky vo fronte sú:")
print (my_queue)
Výkon
Záver
Na ukladanie a správu údajov sa používa front. Ukladá údaje v poradí FIFO. Frontu v Pythone je možné implementovať tromi spôsobmi, ktoré sú v tomto článku vysvetlené s príkladmi.