Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
436 gösterim
Veri yapılarındaki yığın (stack) tipi ne işe yarar nerelerde kullanılır?
Genel Kavramlar kategorisinde (3.2k puan) sordu

1 cevap

0 oy

Yığın(stack) veri yapıları dersinde gösterilen ilk ve en basit veri yapılarındandır. Muhtemelen kendiniz yazmaya bile ihtiyaç duymazsınız keza standard olarak java/.net veye bir çok dilde zaten sunulmaktadır. 

Basit bir tanım yapmak gerekirse elinizde özellikle içine birşeyler koyacağınız ve daha sonrasında koyduğunuz şeyleri geri alabileceğiniz bir yapı oluyor. Asıl olarak önemli olan kısmı ekleme ve geri alma sırası. Ekleme işlemi genel olarak push metodu olarak gerçekleştirilir. Geri alma ise pop ismiyle çağrılır. 

Asıl özelliği en son eklediğiniz veriyi ilk olarak geri almanıza yarar. Mesela internet tarayıcınızda sayfalarda geziyorsunuz. Bir yerde aa dediniz bir önceki sayfaya dönmem lazım. Ne yapıyoruz? Geri butonuna basıyoruz. Peki arkada girilen sayfaları hangi veri yapısıyla tutabilliriz? En son girilen sayfaya gitmemiz gerekmiyor mu? Tam olarak stack kullanılacak bir örnek. Basit yalancı bir kod yazarsak

function sayfaAc(yeniSayfa)
  geriStack.push(gucelSayfa)
  yonlendir(yeniSayfa)

function geri()
   geriSayfa = geriStack.pop
   ileriStack.push(guncelSayfa)
   yonlendir(geriSayfa)

function ileri()
   ileriSayfa = ileriStack.pop
   geristack.push(guncelSayfa)
   yonlendir(ileriSayfa)

Burada bir sayfa aç dediğimiz zaman şu anki güncel sayfamızı artık geride bırakmamız gerekecek, o yüzden geriStack(geri butonu yığını) içine sayfayı koyuyoruz ki geri gelebilelim. Keza geri butonu için yazılan fonksiyonda görüyoruz ki bu stack içinden sayfayı alabiliyoruz. Geri butonuna basında aslında içinde bulunduğumuz sayfayı başka bir yığın yardımıyla kenara alıyoruz. Bunu da ileri butonu için kullanabiliriz. 

Burada ileri ve geri fonksiyonları çağrıldıkça sayfa sürekli önceki ve sonraki arasında hareket edecek. Bunu da iki stack yardımıyla halletmiş oluyoruz.

Uzun lafın kısası en son iş yaptığımız sayfa olabilir, component olabilir, herhangi birşey olabilir geri bulmak istediğimizde kullanabileceğimiz veri yapısı yığın(stack) oluyor. Tarih güzel bir örnek. 

(3.2k puan) cevapladı

İlgili sorular

0 oy
1 cevap 45 gösterim
0 oy
1 cevap 27 gösterim
27 gösterim 28 Temmuz 2017 Genel Kavramlar kategorisinde tolga (1.7k puan) sordu
0 oy
1 cevap 54 gösterim
54 gösterim 3 Haziran 2017 Genel Kavramlar kategorisinde tolga (1.7k puan) sordu
0 oy
0 cevap 24 gösterim
24 gösterim 10 Nisan 2017 Genel Kavramlar kategorisinde tolga (1.7k puan) sordu
...