Tekli bağlı liste oluşturma ve bunun bir döngü ile gerçekleştirilmesi, listenin başına ve sonuna eleman ekleme, listenin elemanlarını yeni tekli bağlı listeye tersten ekleme gibi bir çok örneği inceleyebilirsiniz.
namespacetekliBagliListe { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; } staticvoidMain(string[] args) { Tekli a = new Tekli(); a.data = 5; a.next = null;
Tekli b = new Tekli(); b.data = 1; a.next = b; b.next = null;
Tekli c = new Tekli(); c.data = 2; b.next = c; c.next = null;
Tekli d = new Tekli(); d.data = 8; c.next = d; d.next = null;
Head = a; while (a != null) { Console.WriteLine(a.data); a = a.next; } } } }
Örnek 2
Head, tekli bağlı listenin ilk elemanına bakmaktadır. Bu listeye 10 adet blok ekleyiniz ve veri değerleri indis değerlerine eşit olsun. Ardından listenin tüm elemanları yazdırınız.
Çözüm 2
using System;
namespacetekliBagliListe_2 { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; } staticvoidMain(string[] args) { Tekli a = null; Tekli x = null; for (int i = 0; i < 10; i++) { a = new Tekli(); a.data = i; a.next = null; if (Head == null) { Head = a; x = a; } else { x.next = a; x = a; } } x = Head; while (x != null) { Console.WriteLine(x.data); x = x.next; } } } }
Örnek 3:
Head, tekli bağlı listenin ilk elemanına bakmaktadır. Listenin başına 1 eleman ekleyiniz. Ardından listenin tüm elemanlarını yazdırarak kontrol ediniz.
Çözüm 3
using System;
namespacetekliBagliListe_3 { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; } staticvoidMain(string[] args) { Tekli a = null; Tekli x = null; for (int i = 0; i < 10; i++) { a = new Tekli(); a.data = i; a.next = null; if (Head == null) { Head = a; x = a; } else { x.next = a; x = a; } } x = Head;
Tekli yeni = new Tekli(); yeni.data = 1234; yeni.next = x;
Head = yeni; while (yeni != null) { Console.WriteLine(yeni.data); yeni = yeni.next; } } } }
Örnek 4:
Head, tekli bağlı listenin ilk elemanına bakmaktadır. Listenin sonuna 1 eleman ekleyiniz. Ardından listenin elemanlarını yazdırarak kontrol ediniz.
Çözüm 4
using System;
namespacetekliBagliListe_4 { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; } staticvoidMain(string[] args) { Tekli a = null; Tekli x = null; for (int i = 0; i < 10; i++) { a = new Tekli(); a.data = i; a.next = null; if (Head == null) { Head = a; x = a; } else { x.next = a; x = a; } }
Tekli yeni = new Tekli(); yeni.data = 1234; yeni.next = null; x.next = yeni;
x = Head; while (x != null) { Console.WriteLine(x.data); x = x.next; } } } }
Örnek 5:
Head, tekli bağlı listenin ilk elemanına bakmaktadır. Tüm elemanlarını yeni listeye tersten ekleyiniz. Ardından listeyi yazdırarak tersten ekleme işleminin başarılı bir şekilde sonuçlandığını gözlemleyiniz.
Çözüm 5
using System;
namespacetekliBagliListe_5 { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; } staticvoidMain(string[] args) { Tekli a = new Tekli(); a.data = 1; a.next = null;
Tekli b = new Tekli(); b.data = 2; a.next = b; b.next = null;
Tekli c = new Tekli(); c.data = 3; b.next = c; c.next = null;
Tekli d = new Tekli(); d.data = 4; c.next = d; d.next = null;
Head = a; Tekli last = null; while (a != null) { Tekli x = new Tekli(); x.data = a.data; x.next = last; last = x; a = a.next; }
while (last != null) { Console.WriteLine(last.data); last = last.next; } } } }
Örnek 6:
Head, tekli bağlı listenin ilk elemanına bakmaktadır. Veri değeri 5 olan bloğu siliniz. Ardından listenin tüm elemanlarını yazdırarak verinin silinmiş olduğunu gözlemleyiniz.
Çözüm 6
using System;
namespacetekliBagliListe_6 { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; } staticvoidMain(string[] args) { Tekli a = null; Tekli x = null; for (int i = 0; i < 10; i++) { a = new Tekli(); a.data = i; a.next = null; if (Head == null) { Head = a; x = a; } else { x.next = a; x = a; } } x = Head; while (x != null) { if (x.next == null) break; if (x.next.data == 5) { x.next = x.next.next; } else { x = x.next; } }
x = Head; while (x != null) { Console.WriteLine(x.data); x = x.next; } } } }
Örnek 7
Head, tekli bağlı listenin ilk bloğuna bakmaktadır. İlk elemanını siliniz. Listenin tüm elemanlarını yazdırarak elemanın silindiğini gözlemleyiniz.
Çözüm 7
using System;
namespacetekliBagliListe_7 { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; } staticvoidMain(string[] args) { Tekli a = null; Tekli x = null; for (int i = 0; i < 10; i++) { a = new Tekli(); a.data = i; a.next = null; if (Head == null) { Head = a; x = a; } else { x.next = a; x = a; } } // İlk elemanın silinmesi Head = Head.next; x = Head; while (x != null) { Console.WriteLine(x.data); x = x.next; } } } }
Örnek 8
Head, tekli bağlı listenin ilk bloğuna bakmaktadır. Son elemanını siliniz. Listenin tüm elemanlarını yazdırarak son elemanın silindiğini gözlemleyiniz.
Çözüm 8
using System;
namespacetekliBagliListe_8 { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; } staticvoidMain(string[] args) { Tekli a = null; Tekli x = null; for (int i = 0; i < 10; i++) { a = new Tekli(); a.data = i; a.next = null; if (Head == null) { Head = a; x = a; } else { x.next = a; x = a; } } x = Head; while (x.next.next != null) x = x.next; x.next = null;
x = Head; while (x != null) { Console.WriteLine(x.data); x = x.next; } } } }
Örnek 9
Head, tekli bağlı listenin ilk bloğuna bakmaktadır. Listede kaç eleman vardır?
Çözüm 9
using System;
namespacetekliBagliListe_9 { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; }
staticvoidMain(string[] args) { Tekli a = null; Tekli x = null; for (int i = 0; i < 100; i++) { a = new Tekli(); a.data = i; a.next = null; if (Head == null) { Head = a; x = a; } else { x.next = a; x = a; } } x = Head; int adet = 0; while (x != null) { adet++; x = x.next; } Console.WriteLine(adet); } } }
Örnek 10
Head, tekli bağlı listenin ilk elemanına bakmaktadır. Listede veri değeri 66 olan kaç blok vardır?
Çözüm 10
using System;
namespacetekliBagliListe_10 { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; } staticvoidMain(string[] args) { Tekli a = null; Tekli x = null; for (int i = 0; i < 100; i++) { a = new Tekli(); a.data = i; a.next = null; if (Head == null) { Head = a; x = a; } else { x.next = a; x = a; } } x = Head; int adet = 0; while (x != null) { if (x.data == 66) adet++; x = x.next; } Console.WriteLine(adet); } } }
Örnek 11
Head, tekli bağlı listenin ilk elemanına bakmaktadır. Listenin içerisinde veri değeri 7 olan bloktan sonra yeni bir blok ekleyiniz. Ardından listenin tüm elemanlarını yazdırarak bloğun eklenip eklenmediğini kontrol ediniz.
Çözüm 11
using System;
namespacetekliBagliListe_11 { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; } staticvoidMain(string[] args) { Tekli a = null; Tekli x = null; for (int i = 0; i < 100; i++) { a = new Tekli(); a.data = i; a.next = null; if (Head == null) { Head = a; x = a; } else { x.next = a; x = a; } } x = Head; while (x != null) { if (x.data == 7) { Tekli yeni = new Tekli(); yeni.data = 123; yeni.next = x.next; x.next = yeni; } x = x.next; } x = Head; while (x != null) { Console.WriteLine(x.data); x = x.next; } } } }
Örnek 12
Head, tekli bağlı listenin ilk elemanına bakmaktadır. Veri değeri 7 olan bloktan önceki bloğu siliniz. Ardından listenin elemanlarını yazdırarak bloğun silinip silinmediğini kontrol ediniz.
Çözüm 12
using System;
namespacetekliBagliListe_12 { classProgram { static Tekli Head; classTekli { publicint data; public Tekli next; } staticvoidMain(string[] args) { Tekli a = null; Tekli x = null; for (int i = 0; i < 100; i++) { a = new Tekli(); a.data = i; a.next = null; if (Head == null) { Head = a; x = a; } else { x.next = a; x = a; } } x = Head; while (x != null) { if (x.next == null || x.next.next == null) break; if (x.next.next.data == 7) x.next = x.next.next; x = x.next; } x = Head; while (x != null) { Console.WriteLine(x.data); x = x.next; } } } }