C# Queue met voorbeelden: wat is C# Queue en hoe te gebruiken?
Wat is wachtrij in C#?
The Queue is een bijzondere koffercollectie die een first in first out concept vertegenwoordigt. Stel je een rij mensen voor die op de bus wachten. Normaal gesproken zal de eerste persoon die in de rij komt, de eerste persoon zijn die de bus betreedt. Op dezelfde manier zal de laatste persoon die in de rij komt, de laatste persoon zijn die in de bus stapt. Elementen worden aan de wachtrij toegevoegd, één op elkaar.
Het proces van het toevoegen van een element aan de wachtrij is de enqueuer-bewerking. Om een element uit een wachtrij te verwijderen, kunt u de dequeuer-bewerking gebruiken. De bewerking in Queues C# is vergelijkbaar met de stack die we eerder zagen.
Laten we eens nader bekijken hoe u Queue in C# gebruikt en welke bewerkingen beschikbaar zijn voor de Queue-verzameling in C#.
Verklaring van de wachtrij
De declaratie van een wachtrij vindt u hieronder. Er wordt een wachtrij gemaakt met behulp van het wachtrijgegevenstype. Het trefwoord “nieuw” wordt gebruikt om een object van een wachtrij te maken. Het object wordt vervolgens toegewezen aan de variabele qt.
Queue qt = new Queue()
Elementen toevoegen aan de wachtrij
De enqueue-methode wordt gebruikt om een element aan de wachtrij toe te voegen. De algemene syntaxis van de verklaring wordt hieronder gegeven.
Queue.enqueue(element)
Elementen uit de wachtrij verwijderen
De dequeue-methode wordt gebruikt om een element uit de wachtrij te verwijderen. De dequeue-bewerking retourneert het eerste element van de wachtrij. De algemene syntaxis van de instructie wordt hieronder gegeven
Queue.dequeue()
Tellen
Deze eigenschap wordt gebruikt om het aantal items in de wachtrij te verkrijgen. Hieronder vindt u de algemene syntaxis van deze verklaring.
Queue.Count
Bevat
Deze methode wordt gebruikt om te zien of een element aanwezig is in de wachtrij. Hieronder vindt u de algemene syntaxis van deze verklaring. De instructie retourneert true als het element bestaat, anders wordt de waarde false geretourneerd.
Queue.Contains(element)
Laten we dit nu op codeniveau zien werken. Alle onderstaande code wordt naar onze Console-applicatie geschreven.
De code wordt naar ons Program.cs-bestand geschreven. In het onderstaande programma zullen we de code schrijven om te zien hoe we de bovengenoemde methoden kunnen gebruiken.
Voorbeeld
In dit wachtrij in C#-voorbeeld zullen we zien hoe een wachtrij wordt gemaakt. Vervolgens zullen we zien hoe we de elementen van de wachtrij kunnen weergeven en de methoden Count en Contain kunnen gebruiken.
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(); } } }
Code Uitleg
- De eerste stap wordt gebruikt om de wachtrij te declareren. Hier declareren we qt als een variabele die de elementen van onze wachtrij bevat.
- Vervolgens voegen we 3 elementen toe aan onze wachtrij. Elk element wordt toegevoegd via de “enqueue”-methode.
- Eén ding dat moet worden opgemerkt over wachtrijen is dat de elementen niet toegankelijk zijn via de indexpositie zoals de array lijst. We moeten een andere aanpak gebruiken om de elementen van de wachtrij weer te geven. Dus hier is hoe we de elementen van een wachtrij weergeven.
- We declareren eerst een tijdelijke variabele genaamd obj. Dit wordt gebruikt om elk element van de wachtrij vast te houden.
- Vervolgens gebruiken we de foreach-instructie om elk element van de wachtrij te doorlopen.
- Voor elk Queue-element wordt de waarde toegewezen aan de obj-variabele.
- Vervolgens gebruiken we de opdracht Console.Writeline om de waarde op de console weer te geven.
- We gebruiken de eigenschap "Count" om het aantal items in de wachtrij te achterhalen. Deze eigenschap retourneert een nummer. Vervolgens geven we deze waarde weer aan de console.
- Vervolgens gebruiken we de methode “Bevat” om te zien of de waarde 3 aanwezig is in onze wachtrij. Dit retourneert een waarde waar of onwaar. Vervolgens geven we deze retourwaarde weer op de console.
Als de bovenstaande code correct is ingevoerd en het programma wordt uitgevoerd, wordt de volgende uitvoer weergegeven.
uitgang
Uit de uitvoer kunnen we duidelijk zien dat de elementen van de wachtrij worden weergegeven. Merk op dat, in tegenstelling tot "stack" in "queue" wordt het eerste element dat naar de wachtrij wordt gepusht als eerste weergegeven. Het aantal wachtrij-elementen wordt ook weergegeven in de uitvoer. Ook wordt de waarde True weergegeven om aan te geven dat de waarde 3 is gedefinieerd in de wachtrij.
C# Wachtrij Dequeue
Laten we nu eens kijken naar de verwijderfunctionaliteit. We zullen de code zien die nodig is om het laatste element uit de wachtrij te verwijderen.
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(); } } }
Code Uitleg
- Hier gebruiken we alleen de “dequeue” -methode, die wordt gebruikt om een element uit de wachtrij te verwijderen. Met deze methode wordt het eerste element van de wachtrij verwijderd.
Als de bovenstaande code correct is ingevoerd en het programma wordt uitgevoerd, wordt de volgende uitvoer weergegeven.
Output:
Uit de uitvoer kunnen we zien dat het eerste element dat aan de wachtrij werd toegevoegd, namelijk element 1, uit de wachtrij werd verwijderd.
Samenvatting
Een wachtrij is gebaseerd op het first in first out-concept. De bewerking van het toevoegen van een element aan de wachtrij wordt de enqueue-bewerking genoemd. De bewerking van het verwijderen van een element uit de wachtrij wordt de dequeue-bewerking genoemd.