 |
Stack usulü Stack Stayla! |
Nasıl Linked List konusunda düğüm yaratmak için bir takım verileri oluşturmamız gerektiyse, stack işlemlerinde de struct ile stack yapımızı oluşturacağız. Bunun temel nedeni Stack veri yapısının soyut veri tipi olmasıdır. Soyut veri tipleri, gerçek veri tipleri ile iliştirilmelidir ki kullanılabilsinler.
Stack işlemlerinde diziler veya linked list kullanılabilir. Biz, kolay olduğu için dizi veri yapısı ile başlıycaz. Ama daha sonra stack linked list yapısını da elbette anlatacağız.
Stack Oluşturma İşlemi
Stack veri yapısında iki önemli nokta var. Birincisi değerlerimizin tutulacağı dizi, diğeri ise yığınımızın en tepesinde saklayacağımız indisi tutan top değeri. O halde struct yapımızı oluşturalım.
#include <stdio.h>
#define MAX 10
struct stack{
int dizi[MAX];
int top;
}stack;
define işlemi ile MAX ifadesine 10 değerini atadım. Dizi boyutu oluştururken bunu kullanacağım. klasik bir struct oluşturma işlemi yaptık. Belki aşina değilsiniz diye koyu kırmızı yazılı stack ifadesine dikkat edin. Orada yazdığım ifadede bir stack oluşturdum. Oraya stack yerine mahmut da yazabilirdim, kafaniz karışmasın yani.
Ardından Struct içerisinde iki tane int değeri belirttik. Birisi stack elemanlarımızı tutacak olan dizi[] değişkenimiz, diğeri top değişkeni. Şu noktaya dikkat etmenizi istiyorum, dizi değişkenimizde elemanlarımızı tutarken, top değişkenimizde yalnızca indisleri tutacağız. Yani stack.dizi[stack.top] dediğimiz zaman bize top değerini verecek, artık ne değeri varsa. Buraya dikkat etmelisiniz.
Bu konudan sonra Stack Yardımcı Fonksiyonları konusuna bakmanız sizin için iyi olabilir.
Yardımcı Stack Fonksiyonları
Temel Stack İşlemleriEtiketler: stack nasıl oluşturulur, stack oluşturma işlemi