C Programlama Çift Yönlü Bağlı Liste



Bağlı Listeler  konusunu bir önceki dersimizde işledik.Konu hakkında bilgi sahibi olmak için linke tıklayabilirsiniz.Peki çift yönlü bağlı liste nedir ?


Ç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;
 
}

Yorum Gönder

0 Yorumlar