5 Aralık 2009 Cumartesi

stack yapısı kodu..

bugün veri yapılarının labı vardı.bugün yazdığımız kodu paylaşmak istedim.
kod dizi tabanlı bir stack yapısıdır.stack yapısını bir çuval gibi düşünürsek çuvala en son eklenen çuvaldan ilk çıkarılır.yani ekleme yapıldığında sona çıkarma yapıldığında en son konulan eleman çıkarılır.ko

#include


#include

#include

#define n 10//dizi 10 elemanlı

int yveri[n]={0},yi=0;

int koy();//ekleme fonksiyonu

int al();

void temizle();//dizideki bütün elemanları siler

int listele();//dizi elemanlarını sıralarına göre listeler

sayac=0;

int main(int argc, char *argv[])

{ int eklenecek;

char secim;

while(1)

{ puts("yigina eklene.................'e'\nyigindan eleman cikarma............'c'\nyigini temizleme...........'t'\nlisteleme.................'l'\nsay..............'s'");

secim=getchar();

switch(secim)

{ case 'e':

koy();

break;

case 'c':

al();

break;

case 't':

temizle();

break;

case 'l':

listele();

break;

case 's':

printf("%d\n tane eleman var ",sayac);

default:

printf("yanlis secim!!!");

break;

}

}





system("PAUSE");

return 0;

}

int koy()

{ int eklenecek;

printf("eklemek istediginiz sayiyi giriniz:");



scanf("%d",&eklenecek);

if(yi>=n)//eleman sayısı 10dan büyük olursa ekleme yapılamıyor

puts("yigin dolu!");

else

yveri[yi]=eklenecek;

yi++;



printf("%d yigina eklendi\n",eklenecek);

sayac++;

}

int al()

{ if(yi<=0)

puts("yigin bos");

else{

printf("%d elamnı yigindan cikarildi\n",yveri[yi-1]);

sayac--;

return yveri[--yi];





}

}

void temizle()

{ yi=0;

sayac=0;

printf("yiginda hic eleman yok!!!");}

int listele()

{int i;

if(yi<=0)

printf("yigin bos!!!\n");

else{

for(i=0;i< sayac;i++){< p="">

printf("yveri[%d]=%d\n",i,yveri[i]);

}}

}

Hiç yorum yok:

 
Facebook

Bizi takip edin!

ESOGÜ Bilişim GünleriESOGÜ Bilişim Günleri