C programlama dili dersleri serisinin bu dersinde c dilinde bağlı listelerin kullanımından bahsedip, birkac bağlı liste orneğinin c kodunu sizlerle paylaşacağız.
Bağlı listeleri "Linked List (Bağlı Liste)" adlı algoritma dersimizde anlatmıştık. Kısaca tekrar acıklayalım. Bağlı liste nedir? Bağlı Liste C Kodu. Bağlı liste, bellekte istediğimiz gibi hareket etmemize olanak sağlayan bir tur veri saklama ceşididir. Verileri diziler veya matrisler gibi bellekte sıralı yer kaplamadan istediğimiz gibi dağıtıp belleği daha kullanışlı hale getirmemize yarar.
Not: Belleğe dinamiklik kazandıran asıl bağlı liste yapısı pointerlarla elemanların bellekteki yerlerini kullanarak ilişkilendirme yoluyla yapılır. Pointerları anlatmadığımız icin şu anda bağlı listenin temel mantığını diziler uzerinden anlatmaktayız.
Bu dersimizde c dilinde dizileri kullanarak bağlı liste oluşturacağız. Verileri ve adresleri farklı birer dizide saklayarak, bağlı liste algoritmasını anlattığımız dersteki gibi bağlı liste uzerinde işlemler yapmayı oğreneceğiz. Bir ornekle başlayalım.
Ornek: Bağlı listeyi ekrana yazdıran c programı.
Kaynak Kod:
PHP Code:
#include
int main()
for(i=0;i=0)
return 0;
}
Kod Analiz:
- Bir onceki ornek gibi kullanıcıdan değer dizimizi ve adres dizimizi aldık.
- Bağlı listeyi ekrana yazdırdık ve kullanıcıdan silmek istediği elemanı aldık.
- While dongusu icerisinde aranılan elemanı bağlı listede aradık. Bu işlemi yaparken baktığımız bolgeyi saklamak icin bir a değerine kaydettik.
- Boylece elemanı bulduğumuzda bu elemandan bir onceki elemanın değerini ve kendisinden sonra hangi elemanın geldiğini biliyor olduk.
- While dongusunden cıktıktan sonra if ile elemanın bulunup bulunmadığını kontrol ettik.
- Eğer bulunmuşsa son eleman olup olmadığının kontrolunu başka bir if ile yaptık. Son eleman ise bağlı listenin kendisinden once gelen elemanının adres dizisindeki karşılığını -1 yaptık.
- Son eleman değilse de kendisinden once gelen elemanın artık kendisini değil kendisinden sonra gelen elemanı gostermesini sağladık. (adres[a]=adres[j])
- Daha sonra yeni bağlı listeyi ekrana yazdırdık.
Ekran Goruntusu:


Ayrıca "Linked List (Bağlı Liste)" adlı algoritma dersi icin buraya tıklayın.
"C Programlamada Bağlı Listeler" adlı bu makaleyi beğendiyseniz lutfen yorum yapmayı ve paylaşmayı unutmayın.
Kaynak: Pubtekno
__________________