public void InsertLast(MusteriBilgi musteri) { //Eski sonuncu PersonelNode, Head'den başlanarak set ediliyor MusteriNode oldLast = Head; if (Head == null) { //Hiç kayıt eklenmediği için InsertFirst çağrılabilir InsertFirst(musteri); } else { //Yeni sonuncu PersonelNode yaratılıyor MusteriNode newLast = new MusteriNode { musteriBilgi = musteri }; //Eski sonuncu PersonelNode bulunuyor //Tail olsaydı sonuncuyu bulmaya gerek yoktu. while (oldLast.Next != null) { oldLast = oldLast.Next; } //Eski sonuncu PersonelNode referansı artık yeni sonuncu PersonelNode'u gösteriyor oldLast.Next = newLast; //Bağlı listedeki eleman sayısı bir arttı Size++; } }
public void InsertFirst(MusteriBilgi musteri) { MusteriNode tmpHead = new MusteriNode { musteriBilgi = musteri }; if (Head == null) { Head = tmpHead; } else { //En kritik nokta: tmpHead'in next'i eski Head'i göstermeli tmpHead.Next = Head; //Yeni Head artık tmpHead oldu Head = tmpHead; } //Bağlı listedeki eleman sayısı bir arttı Size++; }