Dairesel Bağlı Liste (Circularly Linked List)
Dairesel bağlı liste (Circularly Linked List), her düğümün bir sonraki düğüme bir referansını içerdiği ve son düğümün de başlangıç düğümüne referans verdiği bir bağlı liste türüdür. Bu, listede dairesel bir yapı oluşturur, böylece listenin sonundan başına geçiş yapabilirsiniz.
Dairesel bağlı listeler, genellikle uygulamalarda düzenli bir şekilde bir liste üzerinde dönülmesi gerektiğinde kullanılır. Örneğin, bir oyun içindeki karakterler arasında dönerken veya bir çalma listesi içinde şarkılar arasında dönerken kullanılabilir.
Dairesel Bağlı Liste İmplementasyonu
Dairesel bağlı liste, düğümleri ve metotları içerir. İşte bir Python örneği:
class Node: def __init__(self, data=None): self.data = data self.next = None class CircularLinkedList: def __init__(self): self.head = None def append(self, data): new_node = Node(data) if not self.head: self.head = new_node self.head.next = self.head # Tek bir düğüm olduğunda, kendisine işaret eder else: temp = self.head while temp.next != self.head: # Son düğüme kadar ilerle temp = temp.next temp.next = new_node # Son düğümün sonrakine yeni düğümü ata new_node.next = self.head # Yeni düğümün sonrakisi baş düğüm olsun def print_list(self): current = self.head while True: print(current.data, end=" ") current = current.next if current == self.head: # Başa dönüldüğünde döngüden çık break
Ana Özellikler:
Döngüsel Yapı: Listenin son düğümü, baş düğümüne işaret eder, böylece bir döngü oluşturur.
Yineleme: Dairesel bağlı listede yineleme yaparken, başa dönüldüğünde döngüden çıkmak için ek bir kontrol yapılmalıdır, aksi takdirde sonsuz bir döngü oluşur.
Dairesel bağlı listeler, dairesel bir yapı gerektiren durumlar için kullanışlıdır, ancak bu dairesel yapının, yinelemeler sırasında dikkatlice ele alınması gerektiğinin farkında olunmalıdır.
0 Comments
Recommended Comments
There are no comments to display.