Yığına Eleman Ekleme | (Stack Eleman Ekleme)

Yığına Eleman Ekleme işlemi Push() fonksiyonu aracılığıyla yapılır. Daha önceden bir stack veri yapısı oluşturulmuş olması gerekir. Şayet stack nasıl oluşturulur bilmiyorsanız linke tıklayabilirsiniz.

stack eleman ekleme
Yığına Eleman Ekleme

Yığına Eleman Ekleme Algoritması

1. Adım: Stack (yığın) dolu mu diye kontrol edilir. (Yığın dolu mu kontrolü nasıl yapılır?)
2. Adım: Top değeri bir artırılır
3. Adım: dizinizi tuttuğunuz değişkenin top indisine yeni değer eklenir. Yani dizi[top] = yenieklenen;

Peki bu algoritma ekseninde Stack Eleman Ekleme C kodu nasıl yazılır?

Yığına Eleman Ekleme C Kodu - (Stack Push Fonksiyonu)


void push(int data)
{
    if(!isFull())
    {
        stack.top = stack.top + 1;
        stack.dizi[stack.top] = data;
    }
    else
    {
        printf("\n Stack Overflow!!!...");
    }
}
Gördüğünüz üzere void tipinde push isimli bir fonksiyon oluşturduk. Bu fonksiyon data parametresini alıyor. Aldığı değeri stack yapısına ekleyecek.

Stack veri yapısına eleman eklemeden önce Stack dolu mu diye kontrol yapmak gerekiyor. Bunu da isFull() fonksiyonu ile yapıyoruz. Stack Veri Yapısı Yardımcı Fonksiyonlar konusunda bu fonksiyonun nasıl yazıldığını anlatmıştım. Dilerseniz bakabilirsiniz.

Eğer Stack yapımız dolu değilse algoritma gereği stack.top değerini bir artırıyoruz. Çünkü Yığınımızda 1 eleman fazladan olacak. Bu yüzden top değerini tutan indis 1 artmalı. Top değerini bir artırdıktan sonra dizimize veriyi kayıt etmemiz gerekiyor. Bunu da stack.dizi[stack.top] = data; işlemiyle gerçekleştiriyoruz. Fonksiyona gönderdiğimiz data parametresini burada kullanıyoruz yani.

Eğer Stack yapımız doluysa ekleme işlemi yapmıyoruz. Kullanıcıya Hata Verdiriyoruz.

Mutlaka Okuyun!!!

Yığından Eleman Çıkarma
Yığın İşlemleri C Kodu

Etiketler: , , ,