C # 'da Sıra nedir?
Queue, ilk giren ilk çıkar konseptini temsil eden özel bir kasa koleksiyonudur. Otobüs bekleyen bir insan kuyruğu hayal edin. Normalde kuyruğa ilk giren kişi otobüse giren ilk kişi olacaktır. Benzer şekilde kuyruğa giren son kişi otobüse giren son kişi olacaktır. Öğeler, sıraya üst üste eklenir.
Kuyruğa bir öğe ekleme işlemi, sıraya alma işlemidir. Kuyruktan bir öğeyi çıkarmak için, sırayı çözme işlemini kullanabilirsiniz. Kuyruklardaki işlem, daha önce gördüğümüz yığına benzer.
Sıra koleksiyonu için mevcut işlemlere daha detaylı bakalım.
Kuyruk Beyanı
Bir Kuyruğun beyanı aşağıda verilmiştir. Queue Data tipinin yardımıyla bir Queue oluşturulur. "New" anahtar sözcüğü, bir Kuyruğun nesnesini oluşturmak için kullanılır. Nesne daha sonra qt değişkenine atanır.
Queue qt = new Queue()
Kuyruğa eleman ekleme
Kuyruklama yöntemi, kuyruğa bir öğe eklemek için kullanılır. İfadenin genel sözdizimi aşağıda verilmiştir.
Queue.enqueue(element)
Sıradan öğeleri çıkarma
Kuyruktan çıkarma yöntemi, bir öğeyi kuyruktan çıkarmak için kullanılır. Kuyruktan çıkarma işlemi kuyruğun ilk öğesini döndürür. İfadenin genel sözdizimi aşağıda verilmiştir.
Queue.dequeue()
Miktar
Bu özellik, kuyruktaki öğelerin sayısını almak için kullanılır. Bu ifadenin genel sözdizimi aşağıdadır.
Queue.Count
İçerir
Bu yöntem, Kuyrukta bir öğenin olup olmadığını görmek için kullanılır. Bu ifadenin genel sözdizimi aşağıdadır. Öğe varsa ifade true, aksi takdirde false değerini döndürür.
Queue.Contains(element)
Şimdi, bunun kod seviyesinde çalıştığını görelim. Aşağıda belirtilen kodun tamamı Konsol uygulamamıza yazılacaktır.
Kod, Program.cs dosyamıza yazılacaktır. Aşağıdaki programda yukarıda belirtilen yöntemleri nasıl kullanabileceğimizi görmek için kodu yazacağız.
Misal
Bu örnekte, bir kuyruğun nasıl oluşturulduğunu göreceğiz. Ardından, kuyruğun öğelerini nasıl görüntüleyeceğimizi ve Count and Contain yöntemlerini kullanacağız.
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();}}}
Kod Açıklama
- İlk adım, Kuyruğu bildirmek için kullanılır. Burada qt'yi Kuyruğumuzun elemanlarını tutan bir değişken olarak tanımlıyoruz.
- Ardından Kuyruğumuza 3 element ekliyoruz. Her öğe "sıraya alma" yöntemi ile eklenir.
- Şimdi Kuyruklar hakkında not edilmesi gereken bir şey, elemanlara dizi listesi gibi dizin konumu yoluyla erişilemeyeceğidir. Kuyruğun unsurlarını görüntülemek için farklı bir yaklaşım kullanmamız gerekiyor. İşte bir kuyruğun öğelerini nasıl görüntüleyeceğimiz.
- Önce obj adında geçici bir değişken tanımlıyoruz. Bu, Kuyruğun her bir öğesini tutmak için kullanılacaktır.
- Daha sonra foreach ifadesini Kuyruğun her bir öğesinin üzerinden geçmek için kullanırız.
- Her Queue öğesi için değer, obj değişkenine atanır.
- Daha sonra değeri konsola görüntülemek için Console.Writeline komutunu kullanıyoruz.
- Kuyruktaki öğelerin sayısını elde etmek için "Count" özelliğini kullanıyoruz. Bu özellik bir sayı döndürecektir. Daha sonra bu değeri konsola gösteriyoruz.
- Ardından Kuyruğumuzda 3 değerinin mevcut olup olmadığını görmek için "İçerir" yöntemini kullanırız. Bu, doğru veya yanlış bir değer döndürür. Daha sonra bu dönüş değerini konsola görüntüleriz.
Yukarıdaki kod doğru girilirse ve program çalıştırılırsa aşağıdaki çıktı görüntülenir.
Çıktı
Çıktıdan, Kuyruğun öğelerinin görüntülendiğini açıkça görebiliriz. "Sıradaki" "yığın" ın aksine, sıraya itilen ilk öğenin ilk önce görüntülendiğini unutmayın. Kuyruk elemanlarının sayısı da çıktıda gösterilir. Ayrıca, kuyrukta 3 değerinin tanımlandığını belirtmek için True değeri görüntülenir.
C # Sıradan Çıkarma
Şimdi kaldırma işlevine bakalım. Kuyruktan son öğeyi kaldırmak için gereken kodu göreceğiz.
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();}}}
Kod Açıklama
- Burada sadece bir öğeyi kuyruktan çıkarmak için kullanılan "dequeue" yöntemini yayınlıyoruz. Bu yöntem, sıranın ilk öğesini kaldıracaktır.
Yukarıdaki kod doğru girilirse ve program çalıştırılırsa aşağıdaki çıktı görüntülenir.
Çıktı:
Çıktıdan, kuyruğa eklenen ilk element olan 1. elementin kuyruktan kaldırıldığını görebiliriz.
Özet
- Kuyruk, ilk giren ilk çıkar konseptine dayanır. Kuyruğa bir öğe ekleme işlemi, kuyruğa alma işlemi olarak adlandırılır. Kuyruğa bir öğeyi kaldırma işlemi, kuyruktan çıkarma işlemi olarak adlandırılır.