bir structure daki node'ları temsil eden list'tir. linked denmesinin sebebi birbirlerine zincirleme bağlı olmasıdır. her node iki ayrı bilgiyi tutar, birincisi kendi taşıdığı değer, ikincisi ise kendinden sonra gelen node'un adres değeridir. oyun programcılığında aktif olarak kullanılır.
her elemanın birbirlerine adresleri vasıtasıyla bağlandığı ve standart bir array'den farklı olarak hafıza alanı kadar eleman alabilen listelerdir. bu tipte bir liste için ilk elemanı tutmak yeterli olacaktır. çoğu durumda eleman sayısını tutmak da kolaylık sağlayabilir uygulama açısından.
// oop yaklaşımı ile, liste temel olarak liste şöyle olabilir.
class mylinkedlist
{ node head; // ilk eleman int count; // eleman sayısı
...
}
// node sınıfını da şu şekilde gerçekleyebiliriz;
class node
{ node next; // bir sonraki eleman object element; // bu düğümün tutacağı eleman
...
}
ardışık iki eleman arasına eklemenin yapılacağı büyük veri yapıları için tercih edilebilen veri yapısı. önceki düğüm'ün "sonraki" işaretçisini eklenilecek elemana, eklenecek elemanın "sonraki" işaretini de sonraki elemana işaret ettirmek kaydıyla ekleme işlemi gerçekleştirilebilir. silme işlemi de benzer şekilde düşük maliyetlidir. bir dizi yapısı için araya ekleme/aradan silme işleminin maliyeti yüksektir, çünkü dizenin kaydırılması gerekir, eklenen elemanın konumuna göre işlem süresi değişebilir.
bağlı listenin dezavantajı aradaki bir elemanı bulmak için tüm listeyi tek tek dolaşmanın gerekmesidir. bunun üstesinden gelmek yapılacak tasarıma has bir şekilde gerçekleştirilebilir. örneğin, isimlerin tutulduğu bir bağlı listeyi sürekli alfabetik sıralı tutarak ve harflere dayalı bir indeks oluşturarak doğrudan belli bir harf ile başlayan bölgeyi bulma işlemini gerçekleştirebiliriz, araya ekleme/silme işlemlerinde de bağlı listenin avantajını kullanmış oluruz.
ayrıca yanılmıyorsam windows süreç* listesini çekirdek tarafında bağlı liste şeklinde tutuyor.
burada 2 fieldlı bir linked list oluşturduk. ilk field olan string tipinden str, ikincisi ise linked list (burada htmllist adında) tipinden next ki bu next diğer noda işaret ediyor.