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:
Yorum Gönder