public void DeleteLast() { //Last PersonelNode bulunup NULL yapılacak PersonelNode lastPersonelNode = Head; //Last PersonelNode'dan bir önceki PersonelNode'un Next'i null olacak PersonelNode lastPrevPersonelNode = null; while (lastPersonelNode.Next != null) { lastPrevPersonelNode = lastPersonelNode; lastPersonelNode = lastPersonelNode.Next; } //Listedeki eleman sayısı bir azaltılıyor Size--; //Last PersonelNode null oldu lastPersonelNode = null; //Last PersonelNode'dan önceki PersonelNode varsa onun next'i null olacak yoksa zaten tek kayıt vardır, //o da Head'dir, o da null olacak if (lastPrevPersonelNode != null) { lastPrevPersonelNode.Next = null; } else { Head = null; } }
public void InsertLast(PersonelBilgi personel) { //Eski sonuncu PersonelNode, Head'den başlanarak set ediliyor PersonelNode oldLast = Head; if (Head == null) { //Hiç kayıt eklenmediği için InsertFirst çağrılabilir InsertFirst(personel); } else { //Yeni sonuncu PersonelNode yaratılıyor PersonelNode newLast = new PersonelNode { personelBilgi = personel }; //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 string DisplayElements() { string temp = ""; PersonelNode item = Head; while (item != null) { temp += "-->" + item.personelBilgi; item = item.Next; } return(temp); }
public List <PersonelBilgi> FindNode(string departman, string otelAdi) { PersonelNode tempPersonelNode = Head; List <PersonelBilgi> pOteldeCalısan = new List <PersonelBilgi>(); while (tempPersonelNode != null) { if (tempPersonelNode.personelBilgi.personelDepartmant == departman && tempPersonelNode.personelBilgi.personelOtel == otelAdi) { pOteldeCalısan.Add(tempPersonelNode.personelBilgi); } //Next PersonelNode'a git tempPersonelNode = tempPersonelNode.Next; } return(pOteldeCalısan); }
public PersonelBilgi EnYüksekPuan(string otelAdi) { PersonelNode tempPersonelNode = Head; PersonelBilgi maxPuanlıPersonel = null; int maxPuan = 0; while (tempPersonelNode != null) { if (maxPuan < tempPersonelNode.personelBilgi.personelPuan && tempPersonelNode.personelBilgi.personelOtel == otelAdi) { maxPuan = tempPersonelNode.personelBilgi.personelPuan; maxPuanlıPersonel = tempPersonelNode.personelBilgi; } //Next PersonelNode'a git tempPersonelNode = tempPersonelNode.Next; } return(maxPuanlıPersonel); }
public PersonelNode GetElement(string departman, string otelAdi) { //Geri dönülecek eleman PersonelNode retPersonelNode = null; //Head'den başlanarak Next PersonelNode'a gidilecek PersonelNode tempPersonelNode = Head; int count = 0; while (tempPersonelNode != null) { if (personel.personelDepartmant == departman && personel.personelOtel == otelAdi) { } //Next PersonelNode'a git tempPersonelNode = tempPersonelNode.Next; count++; } return(retPersonelNode); }
public void DeleteFirst() { if (Head != null) { //Head'in next'i HeadNext'e atanıyor PersonelNode tempHeadNext = this.Head.Next; //HeadNext null ise zaten tek kayıt olan Head silinir. if (tempHeadNext == null) { Head = null; } else { //HeadNext null değilse yeni Head, HeadNext olur. Head = tempHeadNext; } //Listedeki eleman sayısı bir azaltılıyor Size--; } }
public void InsertFirst(PersonelBilgi personel) { PersonelNode tmpHead = new PersonelNode { personelBilgi = personel }; 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++; }