30.01.2013 Views

C DİLİ KULLANARAK BİLGİSAYAR PROGRAMLAMA ... - 320Volt

C DİLİ KULLANARAK BİLGİSAYAR PROGRAMLAMA ... - 320Volt

C DİLİ KULLANARAK BİLGİSAYAR PROGRAMLAMA ... - 320Volt

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

case '2': printf("Adı \n"); gets(s);<br />

iptal(s);<br />

break;<br />

case '3': exit(0);break;<br />

}<br />

} while (1);<br />

}<br />

Problem : Polinomlar sıralı bağlı listede saklı. İki polinomun toplamını üçücnü polinomda oluşturan program<br />

B.2 Listelerin Özel Biçimleri (Uygulamaları)<br />

B.2.1 Stack (yığın) : Son giren ilk çıkar (LIFO)<br />

(Fonksiyon çağırıldığında geri dönüş adresi, Fonksiyona gönderilecek parametreler )<br />

114<br />

Örnek B.2.1: Stack kullanarak girilen cümleyi kelimeleri bozmadan tersten yazdır<br />

#include <br />

#include <br />

struct stackyapi {<br />

char deger[50];<br />

struct stackyapi *sonraki;<br />

};<br />

typedef struct stackyapi stacknode;<br />

typedef stacknode *stackptr;<br />

stackptr top;<br />

void push(char *gelen)<br />

{<br />

stackptr newnode;<br />

newnode = malloc(sizeof(stacknode));<br />

strcpy(newnode->deger, gelen);<br />

newnode->sonraki = top;<br />

top = newnode;<br />

}<br />

int pop(char *giden)<br />

{<br />

stackptr oldnode;<br />

}<br />

if (top != NULL) {<br />

oldnode = top;<br />

strcpy(giden, top->deger);<br />

top = top->sonraki;<br />

free(oldnode);<br />

return 0;<br />

}<br />

else<br />

return 1; /* yığın boş */

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!