Bağlı listeler aynı türden verileri tutmaya yarar işlev olarak dizilere benzeler ancak çalışma prensipleri biraz farklıdır. Bağlı listeler düğüm(node) lardan oluşur ve bir sonraki düğüm’ü göstermek amacıyla işaretci barındırır. oluşturulan her düğüm birbirinin kopyasıdır ve birbirlerini işaret ederek ilerlerler.

Dizilere göre avantajları :
1-Dizilerin boyutları tanımlanırken belirlenmelidir, belirlendiklerinde direk ramden yer ayrılır ve boyutları sabittir. Bağlı listelerde boyut sınırı yoktur sistem nekadar veriye imkan sağlarsa okadar veri tutulabilir.

2- Dizlerde araya eleman eklemek zahmetlidir. Bağlılistelerde basit birşekilde araya ekleme yapılabilir.

Dizilere göre dezavantajları :
1-Rasgele veya direk erişim sağlanamıyor.ilk eleman(head) dan tek tek ilerleyerek erişim sağlanır.Dolayısıyla dizilere göre daha yavaş ve zahmetlidir.

2-Bağlı listeleri oluşturan her düğümde birsonraki düğümü gösteren pointer(next) kullanılır. Dolayısıyla dahafazla bellek kullanırlar.

Yapının nasıl çalıştığını anlatan bir görsel.


Yapımızı oluşturalım :

Yapımızdaki elemanları ekrana basmak için bir fonksiyon yazıyoruz :

Yapımızı Main imizde kullanalım :

Temel olarak kullanım şekli yukardaki gibi ancak tabi buşekilde veri eklemek oldukça kullanışsız ve yorucu.İşlemleri kolaylaştırmak ve işlevli bir hale getirmek amacıyla bikaç ekleme fonksiyonu yazıcaz.

İlk olarak başa eleman ekleme fonksiyonumumuzu oluşturuyoruz:

Sona eleman ekleme fonksiyonumumuzu oluşturuyoruz :

Araya eleman ekleme fonksiyonumumuzu oluşturuyoruz :

Farklı ekleme metotları yazdık şimdide silmek için bi fonksion yazalım :

Son olarak yazdığımız fonksiyonları mainimizde çalıştıralım.


Eksik veya yanlış buldugunuz nokadar varsa iletişim bölümünden bana ulaşbilirsiniz.

İndirmek için Github : https://github.com/ibrahim-ekinci/Linked-List