Çift Yönlü Bağlı Liste
İki adet bağlantı bilgisi tutan bağlı listeler iki yönlü bağlantılı listeler olarak ifade edilir. Bağlantılardan bir tanesi önündeki düğümü işaret ederken, diğeri sonrasındaki düğümü işaret eder.
Dolayısıyla liste üzerinde iki yönlü hareket edilebilir. Araya düğüm ekleme ya da silme işlemleri tek yönlü bağlı listelere göre daha kolay yapılabilmektedir. Bu çalışmada çift yönlü bağlı liste yapısı kullanılarak ekleme, silme, listeleme, arama ve bağlı listenin bir dosyaya kayıt edilip, dosyadan okunarak tekrar oluşturulması fonksiyonlarını içeren C uygulamasına yer verilecektir.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
typedef struct liste{
int deger;
struct liste *onceki,*sonraki;
}lst;
int main()
{
int a,i;
lst *p,*q;
p=q=new lst;
printf("kac sayi degeri girceksiniz.");
scanf("%d",&a);
printf("1. degeri giriniz.");
scanf("%d",&q->deger);
q->onceki=NULL;
for(i=1;i<a;i++)
{
p->sonraki=new lst;
p->sonraki->onceki=p;
p=p->sonraki;
printf("%d. degeri giriniz.",i+1);
scanf("%d",&p->deger);
}
p->sonraki=NULL;
for(p=q;p->sonraki!=NULL;p=p->sonraki)
{
printf(" degerler %d\n",p->deger);
}
return 0;
}
0 Yorumlar
Bizimle fikirlerinizi paylaşabilirsiniz.