Linked List işlemleri arasında en çok kullanılan işlemlerden bir tanesi de Bağlı Listeye Eleman Ekleme işlemleridir. Tek yönlü bağlı listelerde Linked List Eleman ekleme işlemi 3 çeşittir.
- Linked List Sona Eleman Ekleme
- Linked List Başa Eleman Ekleme
- Linked List Araya Eleman Ekleme
Bağlı Liste Sona Eleman Ekleme - (Linked List Sona Eleman Ekleme)
En çok kullanılan eleman ekleme yöntemidir ve en kolayıdır. Mantık olarak eklenecek olan düğüm bir değere atanır, bu değer de daha önceki Linked List yapısındaki en son düğümün önüne eklenir. Hemen örnek verelim;
21 => 17 => 47 => 39 => NULL
yukarıdaki Linked List yapısına mesela 77 sayısını eklemek istersek, 77 sayısının bulunduğu düğümü bir değişkene atarız ve 39 sayısının bulunduğu, normalde NULL değerini işaret eden pointer'ını güncelleyerek yeni düğümümüze atarız. Tabii bunu böyle koda dökmesi yazması kadar kolay olmaz. Çünkü bazı ihtimalleri değerlendirmemiz gerekir.
* start değeri kontrol edilir, eğer NULL ise yeni eklenen düğüm start değeri olur
* start değeri NULL değilse traverse işlemi ile son düğüm bulunur, son düğümün göstericisi güncellenerek yeni düğümü işaret eder.
Bağlı Liste Başa Eleman Ekleme - (Linked List Başa Eleman Ekleme)
Az önce size yalan söyledim. En kolay işlem sona eleman ekleme işlemidir demiştim ama aslında başa eleman eklemek daha kolay :) Çünkü biz başlangıç düğümünü zaten start değişkeninde tutuyoruz. Tek yapmamız gereken, ekleyeceğimiz düğümün göstericisini eski start değerine yönlendirmek ve yeni değeri start değeri olarak güncellemek. Adım adım yazayım;
Yeni bir tane düğüm oluştur
Düğüme hafıza ata (Malloc sizeof komutu) - Düğümün adi mesela yeni olsun
yeni->next = start; yap
start = yeni; olarak ata.
Bağlı Liste Araya Eleman Ekleme - (Linked List Araya Eleman Ekleme)
Bağlı Liste Araya Eleman Ekleme işlemi iki çeşittir. Birincisinde pozisyon verilir (dizilerdeki gibi) ve o pozisyona eklenir. Diğerinde ise hangi sayının önüne ekleneceği belirtilir ve buna göre ekleme yapılır.
3 ==> 5 ==> 7 ==> 9 ==>11
Yukarıdaki yapıda 6 sayısını, 7 sayısının önüne eklemek istersek;
7 sayısının bulunduğu düğümü buluncaya kadar traverse yap
5 sayısının bulunduğu düğümün next değerine 6 sayısının düğümünü ata
6 sayısının düğümüne de 7 sayısının düğümünü ata.
Etiketler: bağlı liste araya eleman ekleme, bağlı liste başa eleman ekleme, bağlı liste sona eleman ekleme