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
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 */