Örnek-1: 3 elemanlı çiftli bağlı bir liste oluşturunuz.

using System;

namespace ciftliBagliListe
{
    class Program
    {
        static Ciftli Head;
        class Ciftli
        {
            public int data;
            public Ciftli next;
            public Ciftli prev;
        }
        static void Main(string[] args)
        {
            Ciftli a = new Ciftli();
            a.data = 0;
            a.next = null;
            a.prev = null;

            Ciftli b = new Ciftli();
            b.data = 1;
            a.next = b;
            b.prev = a;
            b.next = null;

            Ciftli c = new Ciftli();
            c.data = 2;
            b.next = c;
            c.prev = b;
            c.next = null;
            
            Head = a;
            
            while (a != null)
            {
                Console.WriteLine(a.data);
                a = a.next;
            }
        }
    }
}

Örnek-2: Head, çiftli bağlı listenin ilk elemanına bakmaktadır. 10 elemanlı, veri değeri indis değerine eşit olan çiftli bağlı liste oluşturunuz. Bu listeyi baştan sona ve sondan başa yazdırarak kontrol ediniz.

using System;

namespace ciftliBagliListe_2
{
    class Program
    {
        static Ciftli Head;
        class Ciftli
        {
            public int data;
            public Ciftli next;
            public Ciftli prev;
        }
        static void Main(string[] args)
        {
            Ciftli a = null;
            Ciftli x = null;
            for (int i = 0; i < 10; i++)
            {
                a = new Ciftli();
                a.data = i;
                a.next = null;
                if (Head == null)
                {
                    Head = a;
                    a.prev = null;
                    x = a;
                }
                else
                {
                    a.prev = x;
                    x.next = a;
                    x = a;
                }
            }

            x = Head;
            while (x != null)
            {
                Console.WriteLine(x.data);
                x = x.next;
            }
            
            Console.WriteLine("-----");

            x = a;
            while (x != null)
            {
                Console.WriteLine(x.data);
                x = x.prev;
            }
        }
    }
}

Örnek-3: Head, çiftli bağlı listenin ilk elemanına bakmaktadır. Listenin başına eleman ekleyiniz.

using System;

namespace ciftliBagliListe_3
{
    class Program
    {
        static Ciftli Head;
        class Ciftli
        {
            public int data;
            public Ciftli next;
            public Ciftli prev;
        }
        static void Main(string[] args)
        {
            Ciftli a = null;
            Ciftli x = null;
            for (int i = 0; i < 10; i++)
            {
                a = new Ciftli();
                a.data = i;
                a.next = null;
                if (Head == null)
                {
                    Head = a;
                    a.prev = null;
                    x = a;
                }
                else
                {
                    a.prev = x;
                    x.next = a;
                    x = a;
                }
            }
            Ciftli b = new Ciftli();
            b.data = 1234;
            b.next = Head;
            b.prev = null;
            Head.prev = b;
            Head = b;

            x = Head;
            while (x != null)
            {
                Console.WriteLine(x.data);
                x = x.next;
            }
            
            Console.WriteLine("----");

            x = a;
            while(x != null)
            {
                Console.WriteLine(x.data);
                x = x.prev;
            }
        }
    }
}

Örnek-4: Head, çiftli bağlı listenin ilk elamanına bakmaktadır. Listenin sonuna 1 eleman ekleyiniz. Listeyi baştan sona ve sondan başa yazdırarak elemanın eklenip eklenmediğini ve çiftli bağlı liste yapısının oluşup oluşmadığını gözlemleyiniz.

using System;

namespace ciftliBagliListe_4
{
    class Program
    {
        static Ciftli Head;
        class Ciftli
        {
            public int data;
            public Ciftli next;
            public Ciftli prev;
        }
        static void Main(string[] args)
        {
            Ciftli a = null;
            Ciftli x = null;
            for (int i = 0; i < 10; i++)
            {
                a = new Ciftli();
                a.data = i;
                a.next = null;
                if (Head == null)
                {
                    Head = a;
                    a.prev = null;
                    x = a;
                }
                else
                {
                    a.prev = x;
                    x.next = a;
                    x = a;
                }
            }
            Ciftli b = new Ciftli();
            b.data = 1234;
            x.next = b;
            b.prev = x;
            b.next = null;

            x = Head;
            while (x != null)
            {
                Console.WriteLine(x.data);
                x = x.next;
            }
        }
    }
}

Örnek-5: Head, çiftli bağlı listenin başına bakmaktadır. Çiftli bağlı listeden 5 olan elemanı siliniz. Ardından listenin elemanlarını yazdırarak elemanın silinip silinmediğini kontrol ediniz.

using System;

namespace ciftliBagliListe_5
{
    class Program
    {
        static Ciftli Head;
        class Ciftli
        {
            public int data;
            public Ciftli next;
            public Ciftli prev;
        }
        static void Main(string[] args)
        {
            Ciftli a = null;
            Ciftli x = null;
            for (int i = 0; i < 10; i++)
            {
                a = new Ciftli();
                a.data = i;
                a.next = null;
                if (Head == null)
                {
                    Head = a;
                    a.prev = null;
                    x = a;
                }
                else
                {
                    a.prev = x;
                    x.next = a;
                    x = a;
                }
            }
            
            x = Head;
            while (x != null)
            {
                if (x.data == 5)
                {
                    x.next.prev = x.next.prev.prev;
                    x.prev.next = x.prev.next.next;
                }
                x = x.next;
            }
            x = Head;
            while (x != null)
            {
                Console.WriteLine(x.data);
                x = x.next;
            }
        }
    }
}