BAĞLI LİSTEDE BİR DÜĞÜM VEYA ELEMAN SİLMEK İÇİN AŞAĞIDAKİ ANİMASYONU İNCELEYİP KODU MUTALAA ETMEYE ÇALIŞALIM ARDINDAN…
//LİSTEDEN BİR DÜĞÜM SİLME
BLİSTE *sil(int silinecek)
{
BLİSTE *p,*birönceki;
p=ilk;
birönceki=NULL;
while(p){ //silinecek olan aranıyor
if(silinecek==p->bilgi)
break;
birönceki=p;
p=p->arka;
}
//silinecek listede varsa o ve bir önceki bulundu
if(p!=NULL) {
if(birönceki==NULL) { //silinecek olan birinci düğüm
if(ilk==son) { //listede yalnızca bir düğüm varsa
ilk=NULL;
son=NULL;
}
else
ilk=ilk->arka;
}
else { //silinecek olana aradan bir düğümse
birönceki->arka=p->arka;
if(birönceki->arka==NULL)
son=birönceki; //silinen son düğüm
}
free(p); //alan serbest bıraklılıyor
return p; //NULL dan farklı adres gönderiliyor
}
else
return NULL; //silinmek istenen listede yok
}
MEHMET SALİH DEVECİ
YAZILIM MÜHENDİSİ
Çok teşekkür ederim çok yararlı bir iş yapıyorsunuz….
Teşekkür ederim…Önemli olan bin şey bilmek değildir önemli olan bir şey bile biliyorsan onu paylaşabilmektir öğretebilmektir…