JavaScript ile Doubly LinkedList-2

MUHAMMET ÇOKYAMAN
2 min readMar 21, 2021

Herkese tekrardan merhaba , Linked List serimizin ikincisi olan Doubly Linked List ile beraberiz. Bu ders ilk dersten çok farklı olmayacak. Eğer ilk dersi okumamış iseniz ve tek bağlantılı listenin ne olduğunu bilmiyorsanız, bunu öğrenmeden önce onu anlamanızı tavsiye ederim. Önce ordan başlamalısınız orda tek bağlantılı listenin tüm detaylarını anlattığım yapı mevcut ulaşmak isteyen olursa aşağıdaki linkten ulaşabilir.

Doubly Linked Listin her düğümü’nün(node) özellikleri şöyle : değer(value) sonraki referans(next) , önceki referans(prev).

Doubly Linked List’in özellikleri şöyle : bağlantılı listenin baş(head), kuyruk(tail) ve uzunluk (length) özelliği olacaktır.

Doubly Linked List Create :

Push (Sona Eleman Ekleme) :

Eğer kafa(head) boşsa, o zaman mevcut Düğümü başa atayın, aksi takdirde Düğümü bir sonraki(next) eleman olarak ekleyin ve mevcut olanı önceki(prev) eleman olarak işaretleyin.

Unshift (Başa Eleman Ekleme) :

Insert (Belirli İndex’e Eleman Ekleme) :

Burda dikkat etmeniz gereken üç kontrol durumu var. Başa , son ve araya eleman ekleme işlemi. Başa :Mevcut öğe başlangıçta eklenecekse, mevcut öğenin bir sonraki öğesi olarak mevcut tüm öğeleri yapmanız yeterlidir. Araya : Bu biraz karmaşık bir adımdır. Ortaya bir öğe ekleyeceksek, önceki öğeyi geçerli öğeye, mevcut öğeyi de geçerli öğenin sonraki öğesine işaret edecek şekilde yapmalıyız. Sona : Elemanı en sonya eklemek için, son elemanın mevcut elemana ve mevcut elemanın null değerini gösterdiğinden emin olmalıyız.

Shift( Baştan Silme) :

Pop( Sondan Silme) :

Remove( Eleman Silme) :

Burda dikkat etmeniz gereken üç kontrol durumu var. Başa , son ve arayadan eleman silme işlemi. Başa :Mevcut öğe kaldırılacaksa, o zaman başlığı bir sonraki öğeye hareket ettirin. Araya : Bu biraz karmaşık bir süreç, bu yüzden bunu dikkatli bir şekilde uygulamamız gerekiyor. Ortadan bir öğeyi kaldıracaksak, önceki öğeyi sonraki öğeyi ve sonraki öğeyi geçerli öğenin önceki öğesini gösterecek şekilde yapmalıyız. Sona : Son öğeyi kaldırmak için, önceki öğenin boşa işaret ettiğinden emin olmanız yeterlidir.

IndexOf ( İndex Degeri Bulma) :

Diziler gibi bağlantılı liste elemanları için sıfır tabanlı indeksi döndüreceğiz, eğer eleman mevcut değilse -1 döndüreceğiz.

Reverse(Yer Değiştirme) :

Size (Boyut Degerini Bulur) :

toString , Print ( Ekrana Yazdırma İşlemleri) :

toString : Listenin tüm elemanlarını bir araya getirip bir dizge olarak döndüreceğiz. print : Listenin tüm elemanlarını bir diziye ekleyip döndüreceğiz.

--

--