c de link list

theone47

Üye
Katılım
11 Eki 2010
Mesajlar
2
Puanları
1
c de link list lerde yardıma ihtiyacım var anlayan birileri varmı acaba
 
bagli listeler, o kadar zor bir konu degil aslinda ama kodlarken cok hata yapilabiliyor. Sorunun ney oldugunu acik olarak yazsaydin keske, ama basit olarak sana bilgi vereyim.

bagli liste olustuk icin oncelikle bir kendi turunden bir pointer iceren yapi olusturmamiz lazim. Ornegin

struct veri
{
char harf;
struct veri* veriAdres;
};

gibi. genel olarak kod karmasasini onlemek icin bunlar birde typedef edilir.

typedef struct veri Veri;
typedef Veri* VeriADR;

gibi;

ardindan, VeriADR turunden bir pointer uretilip NULL olarak atanir. ornegin
VeriADR baslangicADR = NULL;

simdi yapiya eleman eklemek icin bir fonksiyon yazmak istersek, fonskiyona baslangicADR nin adresini gonderirir, fonksiyon once Veri turunden bir alan yapi olusturur( malloc ) ardindan baslangicADR degerini kontrol eder, eger baslangicADR NULL ise listede eleman yok demektir, bu durumda yeni olusturalan yapinin adresini baslangicADR pointerina gecer ve yeni olusturulan yapinin sonrakiADR degerini NULL gecer. Yok baslangicADR NULL degil ise, baslangicADR degerinden baslayarak dizinin sonuna gelene kadar ya da uygun yere gelene kadar tum listeyi gezer, ve uygun yeri buldugunda listenin bir onceki elamanin sonrakiADR degerini yeni olusturdumuz yapinin adresine esitler, yeni olusturdugumuz yapi listenin sonunda ise sonrakiADR degerini NULL gecer degil ise bir sonraki elemanin adesini atar.

Boyle cok karisik oldu biliyorum, ama soruyu cok genel sormussun, eger istersen bilgisayarimda bir kac tane ufak ornek program olmasi lazim, duruyorsa kodlarini gonderirim incelersin.
 
cok garip bir konu acmissin :) yazdigin koddami hata cikiyor ?
 
gerci biraz fazla bir zaman olmus konuyu acali :)
 

Forum istatistikleri

Konular
128,171
Mesajlar
915,626
Kullanıcılar
449,935
Son üye
mehmetenessunger

Yeni konular

Geri
Üst