Python poskytuje mnoho vestavěných modulů, funkcí a příkazů, které programátorům pomáhají snadno provádět různé složité úkoly. Poskytuje také mnoho předdefinovaných datových struktur, jako jsou seznamy, n-tice a slovníky, které zajišťují efektivní vytváření a správu dat v aplikacích. Fronta je datová struktura, která ukládá a spravuje data. Ukládá data v pořadí první dovnitř a první ven (FIFO). Nejprve se odebere prvek, který se vloží jako první. Fungování fronty můžeme pochopit z našeho příkladu každodenního života. Je to jako fronta zákazníků; zákazník, který přijde jako první, je podporován jako první. V Pythonu můžeme frontu vytvořit následujícími způsoby:
- Seznam
- fronta.Fronta
- sbírky.deque
Tento článek podrobně vysvětluje frontu Pythonu v příkladu.
Běžné operace fronty:
Existuje mnoho operací souvisejících s frontami. Jedná se však o 4 běžné operace fronty:
- Zařadit do fronty
- Dequeue
- Přední
- Zadní
Operace zařazení do fronty se provádí k přidání položky do fronty, zatímco fronta odebere položky z fronty ve stejném pořadí, v jakém byly vloženy. Přední operace navíc vrátí první a zadní operace vrátí poslední položku ve frontě.
Implementace fronty pomocí seznamu
Seznam je široce používaná integrovaná datová struktura Pythonu, která uspořádává položky v pořadí. V seznamu můžeme použít funkce append () a pop (), které slouží k vkládání a odebírání položek z fronty. Funkce append () přidá položku na konec seznamu. Funkce pop vezme index jako argument a odebere položku ze seznamu. V seznamu můžeme ukládat položky jakéhokoli typu. Pojďme implementovat frontu pomocí seznamu Pythonu.
#vytvoření fronty pomocí seznamu# definování seznamu
my_queue = []
# vložení položek do fronty
my_queue.připojit (1)
my_queue.připojit (2)
my_queue.připojit (3)
my_queue.připojit (4)
my_queue.připojit (5)
print ("Položky ve frontě:")
tisk (my_queue)
# odebrání položek z fronty
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
# tisk fronty po odebrání prvků
print ("Položky ve frontě:")
tisk (my_queue)
Ve výše uvedeném příkladu jsme předali index 0 funkci pop (), protože musíme odebrat první přidanou položku.
Výstup
Jak již bylo řečeno dříve, můžeme do seznamu ukládat jakýkoli typ položek, takže vytvořme frontu pomocí seznamu, který obsahuje položky heterogenního typu.
#vytvoření fronty pomocí seznamu# definování seznamu
my_queue = []
# vložení položek do fronty
my_queue.připojit (1)
my_queue.připojit („a“)
my_queue.připojit (2)
my_queue.připojit ("b")
my_queue.připojit (3)
print ("Položky ve frontě:")
tisk (my_queue)
# odebrání položek z fronty
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
# tisk fronty po odebrání prvků
print ("Položky ve frontě:")
tisk (my_queue)
Výstup
Implementace fronty pomocí fronty.Fronta
Fronta je vestavěný modul Pythonu, který se používá k vytváření a implementaci front. Atribut maximální velikosti inicializuje velikost fronty. Ve frontovém modulu je k dispozici mnoho funkcí. Například funkce put () přidá položku do fronty, funkce get () odebere prvek z fronty a funkce qsize () vrátí velikost fronty. Pojďme implementovat frontu pomocí modulu fronty.
#importování modulu frontyfronta importu
#vytvoření fronty velikosti 5
my_queue = fronta.Fronta (maximální velikost = 5)
# vložení položek do fronty
my_queue.dát (1)
my_queue.dát (2)
my_queue.dát (3)
my_queue.dát (4)
my_queue.dát (5)
print ("Velikost fronty je:", my_queue.qsize ())
# odebrání položek z fronty
print (my_queue.dostat())
print (my_queue.dostat())
print (my_queue.dostat())
print (my_queue.dostat())
print ("Velikost fronty je:", my_queue.qsize ())
Výstup
Implementace fronty pomocí deque
Deque je modul třídy sbírek. Ve srovnání se seznamem deque provádí operace zařazení a vyřazení rychleji. Funkce append () a popleft () vkládají a odstraňují položky z fronty. Pojďme implementovat frontu pomocí deque.
#importování modulu sbírekimportovat sbírky
#vytvoření fronty
my_queue = sbírky.deque ()
# vložení položek do fronty
my_queue.připojit (1)
my_queue.připojit (2)
my_queue.připojit (3)
my_queue.připojit (4)
my_queue.připojit (5)
print ("Položky ve frontě jsou:")
tisk (my_queue)
# odebrání položek z fronty
print (my_queue.popleft ())
print (my_queue.popleft ())
print (my_queue.popleft ())
print (my_queue.popleft ())
print ("Položky ve frontě jsou:")
tisk (my_queue)
Výstup
Závěr
K ukládání a správě dat se používá fronta. Ukládá data v pořadí FIFO. Frontu v Pythonu lze implementovat třemi způsoby, které jsou vysvětleny v tomto článku s příklady.