Kolejka C# z przykładami: Co to jest kolejka C# i jak z niej korzystać?
Co to jest kolejka w języku C#?
Kolejka to specjalna kolekcja skrzynek, która reprezentuje koncepcję „pierwsze weszło, pierwsze wyszło”. Wyobraź sobie kolejkę ludzi czekających na autobus. Zwykle pierwsza osoba wchodząca do kolejki będzie pierwszą osobą wchodzącą do autobusu. Podobnie ostatnia osoba, która wejdzie do kolejki, będzie ostatnią osobą, która wejdzie do autobusu. Elementy dodawane są do kolejki, jeden na drugim.
Proces dodawania elementu do kolejki to operacja enqueuer. Aby usunąć element z kolejki, możesz użyć operacji dequeuer. Operacja w Queues C# jest podobna do stosu, który widzieliśmy wcześniej.
Przyjrzyjmy się bliżej sposobowi użycia kolejki w języku C# oraz operacjom dostępnym dla kolekcji kolejek w tym języku.
Deklaracja kolejki
Poniżej znajduje się deklaracja kolejki. Kolejka jest tworzona za pomocą typu danych kolejki. Słowo kluczowe „new” służy do tworzenia obiektu kolejki. Obiekt zostaje następnie przypisany do zmiennej qt.
Queue qt = new Queue()
Dodawanie elementów do kolejki
Metoda enqueue służy do dodawania elementu do kolejki. Ogólna składnia instrukcji jest podana poniżej.
Queue.enqueue(element)
Usuwanie elementów z kolejki
Metoda dequeue jest używana do usuwania elementu z kolejki. Operacja dequeue zwróci pierwszy element kolejki. Ogólna składnia polecenia jest podana poniżej
Queue.dequeue()
Liczyć
Ta właściwość służy do pobierania liczby elementów w kolejce. Poniżej znajduje się ogólna składnia tego stwierdzenia.
Queue.Count
zawiera
Ta metoda służy do sprawdzania, czy element znajduje się w kolejce. Poniżej znajduje się ogólna składnia tego stwierdzenia. Instrukcja zwróci wartość true, jeśli element istnieje, w przeciwnym razie zwróci wartość false.
Queue.Contains(element)
Zobaczmy teraz, jak to działa na poziomie kodu. Cały poniższy kod zostanie zapisany w naszej aplikacji konsolowej.
Kod zostanie zapisany w naszym pliku Program.cs. W poniższym programie napiszemy kod, aby zobaczyć, jak możemy wykorzystać powyższe metody.
Przykład
W tym przykładzie kolejki w języku C# zobaczymy, jak tworzona jest kolejka. Następnie zobaczymy, jak wyświetlić elementy kolejki i użyć metod Count i 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(); } } }
Objaśnienie kodu
- Pierwszy krok służy do zadeklarowania kolejki. Tutaj deklarujemy qt jako zmienną przechowującą elementy naszej kolejki.
- Następnie dodajemy 3 elementy do naszej kolejki. Każdy element dodawany jest metodą „enqueue”.
- Jedną rzeczą, na którą należy zwrócić uwagę w przypadku kolejek, jest to, że do elementów nie można uzyskać dostępu poprzez pozycję indeksu, np lista tablic. Musimy zastosować inne podejście do wyświetlania elementów kolejki. Oto jak zajmiemy się wyświetlaniem elementów kolejki.
- Najpierw deklarujemy zmienną tymczasową o nazwie obj. Będzie to używane do przechowywania każdego elementu kolejki.
- Następnie używamy instrukcji foreach, aby przejść przez każdy element kolejki.
- Dla każdego elementu kolejki wartość jest przypisana do zmiennej obj.
- Następnie używamy polecenia Console.Writeline, aby wyświetlić wartość na konsoli.
- Aby uzyskać liczbę elementów w kolejce, używamy właściwości „Count”. Ta właściwość zwróci liczbę. Następnie wyświetlamy tę wartość na konsoli.
- Następnie używamy metody „Zawiera”, aby sprawdzić, czy w naszej kolejce znajduje się wartość 3. To zwróci wartość true lub false. Następnie wyświetlamy tę zwracaną wartość na konsoli.
Jeżeli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlony zostanie następujący wynik.
Wydajność
Z wyników wyraźnie widać, że elementy kolejki są wyświetlane. Należy zauważyć, że w przeciwieństwie do „stos” w „queue” pierwszy element włożony do kolejki jest wyświetlany jako pierwszy. Liczba elementów kolejki jest również wyświetlana w wynikach. Ponadto wyświetlana jest wartość True, aby powiedzieć, że wartość 3 jest zdefiniowana w kolejce.
Usuń z kolejki C#
Przyjrzyjmy się teraz funkcji usuwania. Zobaczymy kod niezbędny do usunięcia ostatniego elementu z kolejki.
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(); } } }
Objaśnienie kodu
- Tutaj po prostu wydajemy metodę „dequeue”, która służy do usunięcia elementu z kolejki. Ta metoda usunie pierwszy element kolejki.
Jeżeli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlony zostanie następujący wynik.
Wyjście:
Z wyniku wynika, że pierwszy element dodany do kolejki, czyli element nr 1, został z niej usunięty.
Podsumowanie
Kolejka opiera się na koncepcji FIFO (pierwszy wszedł, pierwszy wyszedł). Operacja dodania elementu do kolejki nazywana jest operacją enqueue. Operacja usunięcia elementu z kolejki nazywana jest operacją dequeue.