BAĞLI LİSTEDE DÜĞÜM(ELEMAN) SİLME

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İ

Mehmet Salih Deveci

I am Founder of IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience. I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource. I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks. I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients. If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress mehmetsalih.deveci@outlook.com. -                                                                                                                                                                                                                                                 - Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  mehmetsalih.deveci@outlook.com a mail atabilirsiniz.

2 thoughts on “BAĞLI LİSTEDE DÜĞÜM(ELEMAN) SİLME

  • November 20, 2010 at 6:44 pm
    Permalink

    Çok teşekkür ederim çok yararlı bir iş yapıyorsunuz….

    Reply
    • November 20, 2010 at 7:15 pm
      Permalink

      Teşekkür ederim…Önemli olan bin şey bilmek değildir önemli olan bir şey bile biliyorsan onu paylaşabilmektir öğretebilmektir…

      Reply