Program javada lifo stack yapısı tüm acıklamalarıyla anlatıyor. class yigin{
int i=-1;
int dizi[]=new int[10];
yigin(){
this.i=i;
}//yapılandırıcı method
int yiginbosmu(){
if(i==-1) System.out.println("yigin bostur.");//yigin bos mu degil mi kontrol et.
return -1;
}
int yigindolumu(){
if(i==10) System.out.println("yigin doludur.");//yigin dolu mu degil mi kontrol et.
return -1;
}
int yiginaekle(int deger){
yigindolumu();//yigindolumu methodunu cagırarak kontrol ettik.eger yıgın dolu degilse işlem yapabilecek.
++i;//i yi 1 artır,örneğin -1 ise 0 yap ve
dizi[i]=deger;//0.elemanın üzerine yeni degeri yaz.
return deger;
}
int yigindancikar(){
int deger;
int j;
yiginbosmu();//yıgın bos mu diye kontrol ettik ve eger bossa diger ifadelere gecmeden direk sonlanacak.
deger=dizi[i];
i--;
return deger;//i yi azalttık ve yıgınımızdan 1 eleman attık yani yıgınımızı 1 küçülttük(yani 15 ise 14 oldu).
}
}
class yigindeneme{
public static void main(String args[]){
yigin nesne1=new yigin();//"yigin" tipinde yeni bir nesne tanımladık.biliyoruz ki new komutu ile nesne tanımladıgımız zaman bize
// ismi bellegin stack bölgesinde,degiskenin kendisi ise bellegin heap bölgesinde tutulan bir degisken veriyordu.
//yigina istedigim sayilari ekledim.
nesne1.yiginaekle(1);
nesne1.yiginaekle(2);
nesne1.yiginaekle(3);//yıgına 3 sayısını ekle.
nesne1.yiginaekle(4);
nesne1.yiginaekle(10);
nesne1.yiginaekle(20);//yıgına 20 sayısını ekle.
nesne1.yiginaekle(30);
nesne1.yiginaekle(40);
nesne1.yiginaekle(100);
nesne1.yiginaekle(200);
int j=0;
//BURADA HERHANGİ BİR DONGU KULLANARAK YIGININ ELEMANLARINI DÖNGÜ İLE DE YAZDIRABİLİRİZ.BEN DAHA İYİ GÖRÜLMESİ İÇİN FARKLI DEGERLER KOYDUM.
for ( j = 0; j<10; j++)
System.out.println("yiginin " +(j+1)+".elemanı :"+nesne1.dizi[j]);//dizimizin ilk 20 gözünü bize göster.
//simdi de yıgındaki tüm elemanları cıkaralım.
System.out.println("\nyigindan sirasiyla");
for (int k = 0; k<j; k++){//dongude j degeri 9dan geriye sayar eger oraya j yerine 9dan yuksek bir sayi yazarsak,
// döngü sonunda yigin bostur mesajı verecektir.
System.out.println(nesne1.yigindancikar()+" cikarildi.");//cikarilan her elemanı bize göster.
}
}
}
/*sonuc olarak biz sabit degerler kullanarak yıgının gözlerine ekleme, cıkarma ve bos mu yoksa dolumu oldugunu anlamak için 4 tane method yazdık.
bu program daha da geliştirilebilir.mesela yıgına eklenecek degerler komut satırından eklenebilir ya da buton ilave edilebilir.
alıntıdır
Javada Lifo Stack(yıgın) Yapısı Acıklamalı Örnek
Javada Lifo Stack(yıgın) Yapısı Acıklamalı Örnek
Konuyu Okuyanlar: 1 Ziyaretçi
![[Resim: 114ld.jpg]](http://b1112.hizliresim.com/s/c/114ld.jpg)