Push ve Pop Örnekleriyle C# Yığını

C#'ta Stack nedir?

Yığın, son giren ilk çıkar (LIFO) konseptini temsil eden özel bir durum koleksiyonudur. Öncelikle LIFO'yu anlamak için bir örnek verelim. Her kitabın üst üste tutulduğu bir kitap yığını hayal edin.

Kitaplar söz konusu olduğunda son giren ilk çıkar kavramı, kitap yığınından yalnızca en üstteki kitabın çıkarılabileceği anlamına gelir. Aradan kitap çıkarmak mümkün değil çünkü bu durum yığının ayarını bozar.

dolayısıyla C#yığın da aynı şekilde çalışır. Öğeler yığına üst üste gelecek şekilde eklenir. Yığına bir öğe ekleme işlemine itme işlemi denir. Bir öğeyi yığından kaldırmak için yığının en üstteki öğesini de kaldırabilirsiniz. Bu işleme pop denir.

Stack koleksiyonu için mevcut işlemlere daha ayrıntılı olarak bakalım.

Yığın beyanı

Yığın Veri türü yardımıyla bir yığın oluşturulur. Bir Yığın nesnesini oluşturmak için “yeni” anahtar sözcüğü kullanılır. Daha sonra nesne st değişkenine atanır.

Stack st = new Stack()

Yığına öğe ekleme

Push yöntemi, yığına bir öğe eklemek için kullanılır. İfadenin genel sözdizimi aşağıda verilmiştir.

Stack.push(element)

Yığından öğelerin çıkarılması

Pop yöntemi, bir öğeyi yığından kaldırmak için kullanılır. Pop işlemi yığının en üstteki öğesini döndürecektir. İfadenin genel sözdizimi aşağıda verilmiştir

 Stack.pop()

saymak

Bu özellik Yığındaki öğe sayısını almak için kullanılır. Aşağıda bu ifadenin genel sözdizimi verilmiştir.

Stack.Count

İçeren

Bu yöntem, Stack'te bir öğenin mevcut olup olmadığını görmek için kullanılır. Aşağıda bu ifadenin genel sözdizimi verilmiştir. Eğer eleman mevcutsa ifade true değerini döndürür, aksi halde false değerini döndürür.

Stack.Contains(element)

Şimdi bunun kod düzeyinde çalıştığını görelim. Aşağıda belirtilen kodların tamamı bizim adresimize yazılacaktır. Konsol uygulaması. Kod Program.cs dosyamıza yazılacaktır.

Aşağıdaki programda yukarıda bahsettiğimiz yöntemleri nasıl kullanabileceğimizi görmek için kod yazacağız.

Örnek 1: Stack.Push() Yöntemi

Bu örnekte göreceğimiz

  • Bir yığın nasıl oluşturulur?
  • Yığın öğelerinin nasıl görüntüleneceği ve Count ve Contain yöntemlerinin nasıl kullanılacağı.

C#'ta yığın

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)
  {
   Stack st = new Stack();
   st.Push(1);
   st.Push(2);
   st.Push(3);

   foreach (Object obj in st)
   {
    Console.WriteLine(obj);
   }
    Console.WriteLine(); Console.WriteLine();
    Console.WriteLine("The number of elements in the stack " +st.Count);
    Console.WriteLine("Does the stack contain the elements 3 "+st.Contains(3));
    Console.ReadKey();
  }
 }
}

Kod Açıklaması:-

  1. İlk adım Stack'ı bildirmek için kullanılır. Burada, yığınımızın elemanlarını tutacak bir değişken olarak “st”yi bildiriyoruz.
  2. Daha sonra yığınımıza 3 element ekliyoruz. Her öğe Push yöntemiyle eklenir.
  3. Artık yığın elemanlarına aşağıdaki gibi indeks konumundan erişilemediğinden dizi listesiyığının elemanlarını görüntülemek için farklı bir yaklaşım kullanmamız gerekiyor. Object (obj), yığının her bir öğesini tutmak için bildirilen geçici bir değişkendir. Daha sonra yığının her bir elemanının üzerinden geçmek için foreach ifadesini kullanırız. Her yığın elemanı 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ırız.
  4. Count özelliğini kullanıyoruz (st.count) yığındaki öğe sayısını almak için. Bu özellik bir sayı döndürecektir. Daha sonra bu değeri konsola gösteriyoruz.
  5. Daha sonra yığınımızda 3 değerinin bulunup bulunmadığını görmek için Container yöntemini kullanırız. Bu, doğru veya yanlış bir değer döndürecektir. Daha sonra bu dönüş değerini konsola gösteriyoruz.

Yukarıdaki kod düzgün bir şekilde girilip program çalıştırıldığında aşağıdaki çıktı görüntülenecektir.

Çıktı:

C#'ta yığın

Çıktıdan yığının elemanlarının görüntülendiğini görebiliriz. Ayrıca yığında 3 değerinin tanımlandığını söylemek için True değeri görüntülenir.

not: Yığına en son eklenen öğenin ilk önce görüntülendiğini fark ettiniz. Bu yığının en üst öğesidir. Çıktıda yığın elemanlarının sayısı da gösterilir.

Örnek 2: Stack.Pop() Yöntemi

Şimdi “kaldır” işlevine bakalım. En üstteki öğeyi yığından kaldırmak için gereken kodu göreceğiz.

C#'ta yığın

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)
  {
   Stack st = new Stack();
   st.Push(1);
   st.Push(2);
   st.Push(3);
   
   st.Pop();

   foreach (Object obj in st)
   {
    Console.WriteLine(obj);
   }
    Console.ReadKey();
  }
 }
}

Kod Açıklaması:-

  1. Burada sadece bir öğeyi yığından kaldırmak için kullanılan pop yöntemini yayınlıyoruz.

Yukarıdaki kod düzgün bir şekilde girilip program çalıştırıldığında aşağıdaki çıktı görüntülenecektir.

Çıktı:

C#'ta yığın

3. elemanın yığından kaldırıldığını görebiliriz.

ÖZET

  • Yığın, son giren ilk çıkar konseptine dayanır. Yığına bir öğe ekleme işlemine itme işlemi denir. Bir öğeyi yığına çıkarma işlemine pop işlemi denir.