Stack (Yığın)
Tek taraflı giriş ve çıkışlara açık olan. İlk giren son çıkar LIFO (Last in First Out) mantığı ile çalışan bir ADT örneğidir.
Temelde iki veya üç fonksiyonu bulunur bunlar:
Push -> Stack içerisine bir bilgi koymaya (Stack’in en tepesine koyar)
Pop -> Stack içerisinden bir bilgi almaya (Stack’in en tepesinden alır)
Top -> Stack’in en tepesindeki bilgiyi alır ancak stackten çıkartmaz sadece okur

Bu fonksiyonlar sayesinde bir stack kullanılabilir hale gelmiş olur. Aynı fonksiyonlar ile PDA (push down Automata) ‘da tasarlanabilir.
Temel olarak stack, bir array veya Linked List üzerine inşa edilebilirler.
Örnek olarak bir dizi üzerine inşa edilen stack için bir değişken, dizide o anda kaç değer olduğunu tutacak ve her pop işleminden sonra bu değer azaltılırken, her push işleminden sonra arttırılacaktır.
Benzer uygulama linked list üzerinde yapılırsa, pop işlemiyle sondan bir düğüm silinecek veya push işlemi ile sona bir düğüm eklenecektir.
aşağıda basit bir bağlı liste üzerinde stack kullanılan kod örneği verilmiştir:
« Array (Dizi) | Pointer (Gösterici) »
Yorumlar
Giriş yaparak yorum yazabilirsiniz.
bilgisayar.kavramlari.com üzerinde şu anda okumakta olduğunuz 'Stack (Yığın)' isimli yazı 04 May 2007 tarihinde, saat: 12:22 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 283 defa okunmuştur.
Benzer yazıları Bilgisayar Kavramları, C/C++, JAVA, Programlama Dilleri, veri yapıları kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Eklenen Son Yazılar
- Devamsal Geçiş Tarzı (Continuation-passing style, CPS)
- Kuyruk Özyinelemesi (Tail Recursion, Birikimsel Tarz, Accumulation Style)
- Sıralama Algoritmaları (Sorting Algorithms)
- Seçerek Sıralama (Selection Sort)
- Hızlı Sıralama Algoritması (Quick Sort Algorithm)
- Birleştirme Sıralaması (Merge Sort)
- Yığınlama Sıralaması (Heap Sort)
- Yığın Ağacı (Heap)
- Dizi üzerinde ağaç kodlaması
- Nöbetçi (Sentinel)
Yapılan Son Yorumlar
- hercumartesi: 777/10 mod23 işleminde takıldığım...
- hercumartesi: 2P = R olarak gösterip s için (3xP^2 + a)...
- Şadi Evren ŞEKER: Toplama işlemi sonucunda mod işlemi...
- bazenvebazen: n q b b w derken n q p b w demek istedik?...
- Şadi Evren ŞEKER: Tümleyeni terimini şu şekilde...
Bağlantılar