You need to enable JavaScript to run this app.

Skip to main content

Veri Yapıları- Stack(yığın)Yapısı

Veri Yapıları- Stack(yığın)Yapısı

Posting Freak
Veri Yapıları- Stack(yığın)Yapısı
Yiğin oluşturup gelen bilgiyi (integer) yıgına atıp çıkartma işlemlerini gerçekleştiren program.(çift slaşla altta kapatılmış olan kodlar infix postfix içindir)



#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "string.h"
#include"time.h"
static int i;
typedef struct Yigin
{
int indis;
int eleman[100];
}Yigin_Kumesi;

int get_option(void);


Yigin_Kumesi *Yigin_Olustur() // Kurucu Metod Tanimlamasi
{
Yigin_Kumesi *Yeni_Yigin;
Yeni_Yigin=(Yigin_Kumesi*)malloc(sizeof(Yigin_Kumesi));
Yeni_Yigin->indis=-1;
return Yeni_Yigin; // Tanimlama Bitti
}



int Yigin_Dolumu(Yigin_Kumesi *Yeni_Yigin)
{
if(Yeni_Yigin->indis>99)
{
puts("Yigin Dolu...");
return -1; // Yigin Dolu
}
else
return 0; // Yigin Bos
}

int Yigin_Bosmu(Yigin_Kumesi *Yeni_Yigin) // ???? SOR SOR ????
{
if(Yeni_Yigin->indis<0)
{
puts("Yigin Bos ...");
return -1;
}
else
//puts("Yigin Bos Degil!!!...");
return 0;
}

int Yigina_Ekle(Yigin_Kumesi *Yeni_Yigin,int ekle)
{

if(Yigin_Dolumu(Yeni_Yigin)==-1)
{
printf("Yigin Dolu...");
return -1;
}
else
{
Yeni_Yigin->indis++;
Yeni_Yigin->eleman[Yeni_Yigin->indis]=ekle;
printf("yigina eleman eklendi\n");
return 0;
}
}


int Yigindan_Cek(Yigin_Kumesi *Yeni_Yigin)
{
int cikan_eleman;
if(Yigin_Bosmu(Yeni_Yigin)<0)
{
printf("Yigin Bos!");
return -1;
}
else
{
cikan_eleman=Yeni_Yigin->eleman[Yeni_Yigin->indis];
Yeni_Yigin->indis--;

printf("%d sayisi sigindan cikarildi",cikan_eleman);
return 1;
}
}

int get_option(void)
{
char input[20];
int option;

printf("\n*******MENU*******\n");
printf("[1] LISTELE\n");
printf("[2] AL\n");
printf("[3] AT\n");
printf("[4] CIK\n");
printf("Secenek :... ");
fflush(stdin);
//gets(input);
scanf("%s",input);

option = atoi(input);
return option;
}


int Yigini_listele()
{

Yigin_Kumesi *Yeni_Yigin;

int sayac;

if(Yeni_Yigin->indis==-1){

printf("yigin su an için bos\n");

exit(0);}

for(sayac=0;sayac<=Yeni_Yigin->indis;sayac++){



printf("%d\n",Yeni_Yigin->eleman[sayac]);

}



}





int main() {
int ekle;


int option;
while(1) {
option = get_option();
switch(option)
{
case 1 : Yigini_listele(); break;
case 2 : printf("lutfen eklenecek sayiyi giriniz\n"); scanf("%d",&ekle); Yigina_Ekle(Yigin_Olustur(),ekle); break;
case 3 : Yigindan_Cek(Yeni_Yigin); break;
case 4 : printf("\nProgram sonlandirildi\n"); return 0;
default : printf("\nSecmis oldugunuz secenek gecersiz\n");
}
}

getch();

} //by M.KAPLAN
//############################################3
/*int Parantez_Kontrol(Yigin_Kumesi *Yeni_Yigin,char *islem) {

int i; //(2+3*(2-5)

for(i=0;i<strlen(islem);i++) {

if (islem[i]=='(') Yigina_Ekle(Yeni_Yigin,islem[i]);

else {

if (islem[i]==')')
if (Yigin_Bosmu(Yeni_Yigin)==-1)

return -1;

else Yigindan_Cikar(Yeni_Yigin);

}

if(Yigin_Bosmu(Yeni_Yigin)==-1)

return 0;

else return 1;

}

}*/
//##############################3
/*
void cevir_10_2(Yigin_Kumesi *Yeni_Yigin,int sayi) {

int dijit;

while(sayi>0) {

dijit=sayi%2;
Yigina_Ekle(Yeni_Yigin,dijit);

sayi=sayi/2;

}

while(Yeni_Yigin->indis>=0) {

dijit=Yigindan_Cikar(Yeni_Yigin);

yaz("%d",dijit);

}

}



*/

[Resim: 114ld.jpg]



Ben göremem daha uzun boyunu
Ahret derler kısaltamam yolunu
Bugün Sahı Merdan sarsın oglunu
Yetis Ya Üseyin baban gidiyo

İçerik sağlayıcı paylaşım sitesi olarak hizmet veren Pir Zöhre Ana Forum sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.K'nın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Sitemiz hakkında yapılacak tüm hukuksal şikayetleri İletişim bağlantısından bize ulaşıldıktan en geç 3 (üç) gün içerisinde ilgili kanunlar ve yönetmenlikler çerçevesinde tarafımızca incelenerek, gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.