Java Dilinde Circular LinkedList Anlatımı



Selamlar arkadaşlar, bugün sizlerle Circular LinkledList Java kodunu anlamaya çalışacağız. Kod ve açıklamasını bu yazımızda bulabilirsiniz.

Circular Linkedlist nedir? Bu liste mantığının LinkedListten farkı başının ve sonunun bağlı olmasıdır. Şöyle diyebiliriz, sizin listenin sonuna yani tail'e gittiğinizde oradan head'e ulaşmak için geriye dönmenize gerekmiyor. Direkt olarak bir sonraki gösterilen nokta head noktasını göstermektedir.

> Normal LinkedList
> Circular LinkedList
  • Koda geçelim
package mfg_sadi;

/**
*
* @author mfg
*/
public class CreateList {
//Şimdi ilk başta Node yani düğümümüzü oluşturacağız.
public class Node{
//Değişkenlerimizi girelim.
int data;
Node next;
//Constructor oluşturuyoruz ki yeni düğümler oluşturabilelim.
public Node(int data) {
this.data = data;
}
}
//Head ve tail değerlerini null olarak belirtiyoruz.
public Node head = null;
public Node tail = null;
//Bu fonksiyonumuz yeni düğümümüzü listemizin en sonuna eklemektedir.
public void add(int data){
//Yeni düğüm oluşturalım
Node newNode = new Node(data);
//Liste boş mu değil mi diye kontrol edelim.
if(head == null) {
// Liste boş ise baş ve kuyruk yeni düğümü gösterecektir.
head = newNode;
tail = newNode;
newNode.next = head;
}
else {
//kuyruktan sonrası yeni düğümü gösterecektir.
tail.next = newNode;
//Yeni düğüm yeni kuyruğumuz olacaktır.
tail = newNode;
//Circular LinkledList olduğu için kuyruktan sonrası head'i yani başı gösterecektir.
tail.next = head;
}
}
//Listedeki tüm düğümleri gösterecektir.
public void display() {
Node current = head;
if(head == null) {
System.out.println("Liste boş");
}
else {
System.out.println("Düğümleri Circular LinkedListle Gösterimi: ");
do{
//Bütün düğümleri pointer değerini artırarak gösteriyoruz.
System.out.print(" "+ current.data);
current = current.next;
}while(current != head);
System.out.println();
}
}
public static void main(String[] args) {
CreateList liste = new CreateList();
//Veri ekleyelim listemize
liste.add(1);
liste.add(2);
liste.add(3);
liste.add(4);
//Ve hepsini gösterelim sonunda.
liste.display();
}
}

  • Çıktımızı gösterelim şimdi

Yardım alınan kaynak, www.javatpoint.com

Yorumlar

Bu blogdaki popüler yayınlar

Python ile Turtle Kütüphanesiyle Çizim Denemesi 2

Girdimize en yakın palindrom değeri bulan program (Python3 ile)

Python ile Yazıyı Piramit Gibi Çizdirme