13 Haziran 2013 Perşembe

Stack Sınıfı - Csharp



Bu sınıfta Queue sınıfı gibi verileri tutan bir sınıftır. Sadece bu sınıftan ayıran tek özelliği ilk eklenen veri çağrıldığı zaman en son çıkıyor. İngilizcesi first in last out. En son eklediğimiz veri ise çağrıldığında ilk çıkıyor. Bu sınıfta veri eklemek için kullanacağımız metod ise Push metodudur. Verileri çağırmak için kullanacağımız metod ise Pop metodudur.

Örnek: illeri tutacağımız bir veri yığını oluşturalım. Bu nesneye il isimleri ekleyelim sonra bu verileri çağıralım.

Çözümü:
private void Form1_Load(object sender, EventArgs e)
        {

            Stack illerimiz = new Stack();
            illerimiz.Push("adana");
            illerimiz.Push("ankara");
            illerimiz.Push("adıyaman");

            MessageBox.Show(illerimiz.Pop().ToString());
            MessageBox.Show(illerimiz.Pop().ToString());
            MessageBox.Show(illerimiz.Pop().ToString());
           
            //MessageBox.Show(illerimiz.Peek().ToString());
        }

Kodun Çözümü:
            Stack illerimiz = new Stack();
            illerimiz.Push("adana");
            illerimiz.Push("ankara");
            illerimiz.Push("adıyaman");
stack sınıfı ile illerimiz adında bir nesne oluşturuyoruz. Bu nesneye veri eklerken push metodu’nu kullanıyoruz.

            MessageBox.Show(illerimiz.Pop().ToString());
            MessageBox.Show(illerimiz.Pop().ToString());
            MessageBox.Show(illerimiz.Pop().ToString());
          
Verileri çağırmak için pop metodunu kullanıyoruz. Yalnız buradaki tek fark son eklenen veri ilk çağırılır. İlk mesaj kutusunda yazan veri “Adıyaman” çünkü son eklenen veri ilk çıkıyor. İkinci mesaj kutusunda “Ankara” yazar. Üçüncü mesaj kutusunda ise “adana” yazar. Yalnız çağrılan her veri veri topluluğundan silinir.

Eğer çağrıldığında o verinin silinmesini istemiyorsak Peek metodunu kullanırız.

Hiç yorum yok :

Yorum Gönder

Google PageRank Checker Powered by  MyPagerank.Net