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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

EK B. DİNAMİK VERİ YAPILARI<br />

112<br />

Self-referential structure : üye, tanımlı olduğu yapıya bir işaretçi<br />

struct yapi {<br />

char adi[21];<br />

struct yapi *ptr;<br />

};<br />

B.1 Sıralı Bağlı Liste<br />

.....<br />

Örnek B.1: Sıralı bağlı listenin gerçekleştirilmesi.<br />

#include <br />

#include <br />

struct listyapi {<br />

char adi[21];<br />

struct listyapi *sonraki;<br />

};<br />

typedef struct listyapi listnode;<br />

typedef listnode *listptr;<br />

listptr headnode; /* Herzaman listenin baţýný gösterir */<br />

void seeklist(char *searchthis, listptr *prevnode)<br />

{<br />

listptr c;<br />

c = headnode;<br />

*prevnode = c;<br />

while ((c->sonraki != NULL)) {<br />

c = c->sonraki;<br />

if (strcmp(c->adi, searchthis) >= 0) break;<br />

*prevnode = c;<br />

}<br />

}<br />

void kayit(char *s)<br />

/* prevnode kayıdı newnode kayıdını, newnode kayıdı prevnode'nin daha önce gösterdiği kayıdını gösterir. */<br />

{<br />

listptr newnode, prevnode;<br />

newnode = malloc(sizeof(listnode)); /* yeni kayıda yer a‡ */<br />

strcpy(newnode->adi, s); /*bilgiyi yeni kayıda yaz */<br />

seeklist(newnode->adi, &prevnode); /* listedeki yerini bul */

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

Saved successfully!

Ooh no, something went wrong!