Professional Documents
Culture Documents
Kuyruk, Yığın, Bağlı Listeler: 17. Kuyruk Ve Yığın Yapısının Kütüphane Ile Uygulanması
Kuyruk, Yığın, Bağlı Listeler: 17. Kuyruk Ve Yığın Yapısının Kütüphane Ile Uygulanması
Kuyruk, Yığın, Bağlı Listeler: 17. Kuyruk Ve Yığın Yapısının Kütüphane Ile Uygulanması
Yukarıdaki şekilde, 5 tane düğüm vardır. Görüldüğü gibi, her bir düğüm bir başka düğümü
göstermektedir. Son düğüm, başka hiç bir düğümü göstermez; benzer şekilde ilk düğümü gösteren bir
düğüm de bulunmamaktadır. Düğümlerin bellekte nerelerde bulunduğu hiç önemli değildir, çünkü her
düğümde bir sonrakinin adresi bulunmaktadır.
Bu şekilde tek bağlı doğrusal bir liste yapabilmek için, nesne tabanlı programlama dillerinde nesneler
kullanılmaktadır. C gibi dillerde ise “nesne” yoktur. Bu işi yapmak için, işaretçi denilen özel bir
referans değişkeni kullanılmaktadır.
Aşağıda bağlı liste düğümleri için oluşturacağımız sınıf-nesne yapısının temsili gösterimi verilmiştir:
Düğüm sınıfı
değer sonraki
Önce bir sınıf oluşturacağız. Bu sınıfta iki tane veri olacak. Bunların isimleri değer ve sonraki
şeklinde olacak. Bu sınıftan türeteceğimiz tüm nesnelerde de aynı özellikler olacak. Aşağıdaki
uygulamayı inceleyelim:
class DüğümSınıf: # Sınıf tanımı
değer = 0
sonraki = None
Yukarıdaki görüntüde; program çalıştırıldıktan sonra, konsol ekranında (sağ taraf) bir kaç komut daha
girilmiştir. düğüm1 yazıp enter’a basıldığında, bunun DüğümSınıf sınıfı türünde olduğunu belirtmiş.
düğüm1.değer yazıldığında, değeri 11 olarak doğru bir şekilde vermiş. düğüm1.sonraki
yazıldığında, sonraki düğümün (düğüm2) de aynı sınıfta ama farklı bir adresteki nesne olduğunu
görebiliyoruz. Son olarak; düğüm1.sonraki.değer şeklinde yazıldığında da düğüm2’nin değerini
görebiliyoruz.
Not: Tek bağlı listelerde önceki düğüme erişebilmek için; listenin başından başlayıp ilgili düğüme kadar
tüm elemanları teker teker geçmek gerekecektir.