Veri yapılarının bilinen önemli konularından biriside hiç kuşku yok ki Stack (Yığın) Konusudur.Yığın veri yapısı üst üste koyulan tabaklar mantığıyla çalışır ilk çektiğimiz son koyduğumuz tabaktır aslında bundan da anlaşılacağı üzere Stack son giren ilk çıkar yani LIFO mantığıyla çalışır.Burda herbir eleman için bir Node (düğüm) oluşturarak Class yapısının içinde kullandım ve her elemanı önce ittim (PUSH) Yığına sonra da çektim (POP) çektim Stacktan.Şimdi Bunun gerçeklemesini Java da görelim..

package newpackage;
// Bu Class ı 10 tane değer tutacak şekilde ayarlıyoruz
class Stack {
int stck[] = new int[10];
int tos;

// Stack ı İnitialize yapıyoruz
Stack() {
tos = -1;
}

// Stağa Eleman itme
void push(int item) {
if(tos==9)
System.out.println(“Stack dolu.”);
else
stck[++tos] = item;
}

//Stackdan Eleman Çekme
int pop() {
if(tos < 0) {
System.out.println(“Stack Underflow oldu.”);
return 0;
}
else
return stck[tos–];
}
}

class MyStack {
public static void main(String args[]) {
Stack mystack1 = new Stack();
Stack mystack2 = new Stack();

// push some numbers onto the stack
for(int i=0; i<10; i++) mystack1.push(i);
for(int i=10; i<20; i++) mystack2.push(i);

// pop those numbers off the stack
System.out.println(“İlk Stağım daki elemanlar:”);
for(int i=0; i<10; i++)
System.out.println(mystack1.pop());

System.out.println(“İkinci Stağım daki elemanlar:”);
for(int i=0; i<10; i++)
System.out.println(mystack2.pop());
}
}

MEHMET SALİH DEVECİ

BİLGİSAYAR MÜHENDİSİ

Reklamlar
yorum
  1. Abdullah Dağlı dedi ki:

    Java Library bir çok veri yapısını özünde barındırıyor zaten. Stack gibi en temel veri yapıları da var tabii.

    http://download.oracle.com/docs/cd/E17476_01/javase/1.4.2/docs/api/java/util/Stack.html

  2. YAZILIM UZMANI dedi ki:

    Evet Java Libraryleri veriyapılarıyla beraber çok daha fazla yardımcı sınıf tanımlıyo ancak bu yazıda amacım hazır java nesnesinin nasıl çalıştığıdır Kısaca Stack nedir nasıl çalışır nasıl implemente edilir ve özünde ne var!! bir çok zaman bir şeyi hazır kullanıyoruz ama onun iç yapısında ne var onu bilmiyoruz!! Yoksa Herşeyin Hazırını Library i ekledikten sonra bulabilrsin tabikide!!!

  3. Abdullah Dağlı dedi ki:

    Ama zaten Java “library” demek gibi birşey. Devası üst seviyede bir teknloji. Yani bu örneğin bile aslında bu işin altında ne yattığını tam olarak anlatamaz. Çok daha aşağılara inmek lazım. Ben de bilgi amacıyla yazdım zaten 😉

  4. YAZILIM UZMANI dedi ki:

    doğru tam olarak ne yattığını bilmek için C++ la yazmak hatta olmadı assembly le yazmak lazım ki kodun gerçektende iç yapısını öğrenmek için!!

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s