Fronta C# s příklady: Co je to fronta C# a jak se používá?
Co je Queue v C#?
Queue je speciální kolekce případů, která představuje koncept první dovnitř, první ven. Představte si frontu lidí čekajících na autobus. Obvykle první člověk, který vstoupí do fronty, bude první, kdo vstoupí do autobusu. Podobně poslední osoba, která vstoupí do fronty, bude poslední osobou, která vstoupí do autobusu. Prvky jsou přidány do fronty, jeden na druhém.
Proces přidání prvku do fronty je operace enqueuer. Chcete-li odstranit prvek z fronty, můžete použít operaci dequeuer. Operace v Queues C# je podobná zásobníku, který jsme viděli dříve.
Podívejme se podrobněji na to, jak používat Queue v C# a na operace dostupné pro kolekci Queue v C#.
Vyhlášení fronty
Vyhlášení fronty je uvedeno níže. Fronta je vytvořena pomocí typu Queue Data. Klíčové slovo „new“ se používá k vytvoření objektu fronty. Objekt je pak přiřazen k proměnné qt.
Queue qt = new Queue()
Přidávání prvků do fronty
Metoda enqueue se používá k přidání prvku do fronty. Obecná syntaxe příkazu je uvedena níže.
Queue.enqueue(element)
Odebírání prvků z fronty
Metoda dequeue se používá k odstranění prvku z fronty. Operace vyřazení z fronty vrátí první prvek fronty. Obecná syntaxe příkazu je uvedena níže
Queue.dequeue()
Počítat
Tato vlastnost se používá k získání počtu položek ve frontě. Níže je obecná syntaxe tohoto příkazu.
Queue.Count
obsahuje
Tato metoda se používá ke zjištění, zda je prvek přítomen ve frontě. Níže je obecná syntaxe tohoto příkazu. Příkaz vrátí true, pokud prvek existuje, jinak vrátí hodnotu false.
Queue.Contains(element)
Nyní se podívejme, jak to funguje na úrovni kódu. Veškerý níže uvedený kód bude zapsán do naší konzolové aplikace.
Kód bude zapsán do našeho souboru Program.cs. V níže uvedeném programu napíšeme kód, abychom viděli, jak můžeme použít výše uvedené metody.
Příklad
V tomto příkladu Queue v C# uvidíme, jak se vytvoří fronta. Dále uvidíme, jak zobrazit prvky fronty, a použijeme metody Count a Contain.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Queue qt = new Queue(); qt.Enqueue(1); qt.Enqueue(2); qt.Enqueue(3); foreach (Object obj in qt) { Console.WriteLine(obj); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine("The number of elements in the Queue " + qt.Count); Console.WriteLine("Does the Queue contain " + qt.Contains(3)); Console.ReadKey(); } } }
Vysvětlení kódu
- První krok se používá k deklaraci fronty. Zde deklarujeme qt jako proměnnou pro uložení prvků naší fronty.
- Dále do naší fronty přidáme 3 prvky. Každý prvek je přidán pomocí metody „enqueue“.
- Jedna věc, kterou je třeba o frontách poznamenat, je to, že k prvkům nelze přistupovat přes pozici indexu, jako je tomu u seznam polí. K zobrazení prvků fronty musíme použít jiný přístup. Zde je tedy postup, jak zobrazit prvky fronty.
- Nejprve deklarujeme dočasnou proměnnou s názvem obj. To bude použito k uložení každého prvku fronty.
- Poté pomocí příkazu foreach projdeme každý prvek fronty.
- Pro každý prvek Queue je hodnota přiřazena proměnné obj.
- Poté pomocí příkazu Console.Writeline zobrazíme hodnotu do konzole.
- K získání počtu položek ve frontě používáme vlastnost „Count“. Tato vlastnost vrátí číslo. Tuto hodnotu pak zobrazíme konzoli.
- Poté použijeme metodu „Obsahuje“, abychom zjistili, zda je v naší frontě přítomna hodnota 3. To vrátí hodnotu true nebo false. Tuto návratovou hodnotu pak zobrazíme konzoli.
Pokud je výše uvedený kód zadán správně a program je spuštěn, zobrazí se následující výstup.
Výstup
Z výstupu jasně vidíme, že jsou zobrazeny prvky Queue. Všimněte si, že na rozdíl od „stoh” ve „frontě“ se jako první zobrazí první prvek zařazený do fronty. Počet prvků fronty je také uveden ve výstupu. Také se zobrazí hodnota True, která říká, že hodnota 3 je definována ve frontě.
C# Queue Dequeue
Nyní se podíváme na funkci odstranění. Uvidíme kód potřebný k odstranění posledního prvku z fronty.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Queue qt = new Queue(); qt.Enqueue(1); qt.Enqueue(2); qt.Enqueue(3); qt.Dequeue(); foreach (Object obj in qt) { Console.WriteLine(obj); } Console.ReadKey(); } } }
Vysvětlení kódu
- Zde pouze vydáváme metodu „dequeue“, která se používá k odstranění prvku z fronty. Tato metoda odstraní první prvek fronty.
Pokud je výše uvedený kód zadán správně a program je spuštěn, zobrazí se následující výstup.
Výstup:
Z výstupu můžeme vidět, že první prvek, který byl přidán do fronty, což byl prvek 1, byl z fronty odstraněn.
Shrnutí
Fronta je založena na konceptu první dovnitř, první ven. Operace přidání prvku do fronty se nazývá operace enqueue. Operace odstranění prvku z fronty se nazývá operace vyřazení z fronty.