Bağlı Liste Tipleri

Bu rehberde, bağlı listenin farklı türlerini öğreneceksiniz. Ayrıca c# dilinde kuyruk implementasyonunu göreceksiniz.

Bağlı listenin türlerini öğrenmeden önce bağlı liste veri yapısı hakkında bilgi sahibi olduğunuzdan emin olun.

Bağlı listenin yaygın 3 türü vardır.

 


 

Tek Bağlı Liste

En yaygın olanıdır. Her bir düğümün verisi ve sıradaki düğümün adresini taşıyan işaretcisi vardır.

Her bir düğüm şu şekilde temsil edilir:

public class Node
{
    public int data;
    public Node next;
}

Üç elemanlı tek bağlı bir liste şu şekilde oluşturulabilir:

    //Düğümleri oluşturalım ve değer atayalım
    Node head;
    Node one = new Node { data = 1 };
    Node two = new Node { data = 2 };
    Node three = new Node { data = 3 };
    
    //Düğümleri bağlayalım
    one.next = two;
    two.next = three;
    three.next = null;
    
    //baştaki düğümün adresini kaydedelim
    head = one;

 


 

Çift Bağlı Liste

Çift bağlı listede önceki düğümü gösteren bir işaretçi ekliyoruz. Böylece ileri ve geri olmak üzere iki yönde de ilerleyebiliyoruz.

Her bir düğüm şu şekilde temsil edilir:

public class Node
{
    public int data;
    public Node next;
    public Node prev;
}

Üç elemanlı çift bağlı bir liste şu şekilde oluşturulabilir:

    //Düğümleri oluşturalım ve değer atayalım
    Node head;
    Node one = new Node { data = 1 };
    Node two = new Node { data = 2 };
    Node three = new Node { data = 3 };
    
    //Düğümleri bağlayalım
    one.next = two;
    one.prev = null;

    two.next = three;
    two.prev = one;

    three.next = null;
    three.prev = two;

    //baştaki düğümün adresini kaydedelim
    head = one;

 


 

Dairesel Bağlı Liste

Dairesel bağlı liste, son elemanın ilk elemana bağlı olduğu bağlı listenin bir varyasyonudur. Bu durum, dairesel bir döngü oluşturur.

Dairesel bağlı bir liste, tek bağlı veya çift bağlı olabilir.

  • Tek bağlı liste için, son elemanın işaretcisi ilk itemi gösterir.

  • Çift bağlı liste için, ilk elemanın prev işaretcisi son elemanı gösterir.

Üç elemanlı dairesel tek bağlı bir liste şu şekilde oluşturulabilir:

    //Düğümleri oluşturalım ve değer atayalım
    Node head;
    Node one = new Node { data = 1 };
    Node two = new Node { data = 2 };
    Node three = new Node { data = 3 };
    
    //Düğümleri bağlayalım
    one.next = two;
    two.next = three;
    three.next = one;

    //baştaki düğümün adresini kaydedelim
    head = one;

Github'da bu sayfayı düzenle