public bool Insert(Kisi kisi) { if (currentSize == maxSize) { return(false); } HeapDugumu newHeapDugumu = new HeapDugumu(kisi); heapIlanBasvurusu[currentSize] = newHeapDugumu; MoveToUp(currentSize++); return(true); }
public void MoveToUp(int index) { int parent = (index - 1) / 2; HeapDugumu bottom = heapIlanBasvurusu[index]; while (index > 0 && (((Kisi)heapIlanBasvurusu[parent].Deger).TCKimlikNo) < ((Kisi)bottom.Deger).TCKimlikNo) { heapIlanBasvurusu[index] = heapIlanBasvurusu[parent]; index = parent; parent = (parent - 1) / 2; } heapIlanBasvurusu[index] = bottom; }
public void MoveToUp(int index) { int parent = (index - 1) / 2; HeapDugumu bottom = heapBasvuru[index]; //Yeni eklenen kişi adının (ilk harfinin) ascii karşılığı Heap'de o an bulunduğu parentının adının(ilk harfinin) ascii karşılığından büyük olduğu sürece yer değiştirme işlemi gerçekleştirildi while (index > 0 && Convert.ToInt32(((Kisi)heapBasvuru[parent].Deger).Ad[0]) < Convert.ToInt32(((Kisi)bottom.Deger).Ad[0])) { heapBasvuru[index] = heapBasvuru[parent]; index = parent; parent = (parent - 1) / 2; } heapBasvuru[index] = bottom; }
public bool Insert(Kisi deger) { //Heap dolu ise ekleme işlemi gerçekleştirilmedi if (gecerliBoyut == maksBoyut) { return(false); } //Başvuru yapan kişi nesnesi heap'in son boş düğümüne eklendi HeapDugumu yeniHeapDugumu = new HeapDugumu(deger); heapBasvuru[gecerliBoyut] = yeniHeapDugumu; //Son düğüme eklenen Kişi nesnesi ad'a göre heap'de yerini alması için MoveToUp() methodu kullanıldı. MoveToUp(gecerliBoyut++); return(true); }
private void btnIseAlinanAdayiBul_Click(object sender, EventArgs e) { if (lbIlanlar.SelectedItem == null) { MessageBox.Show("Önce ilanı seçin."); } else { Node temp = IlanBul();//Seçilen ilana uygun aday(uygunluk puanı, not ortalaması ve ingilizce bilgisine göre karar veriliyor) arandı. Bulunursa adı gösterildi. HeapDugumu uygunAday = ((Ilan)temp.Data).heapBasvuru.UygunAdayBul(); if (uygunAday == null) { MessageBox.Show("Henüz işe uygun aday başvurmadı"); } else { txtIseAlinanAday.Text = ((Kisi)uygunAday.Deger).Ad; } } }
private void btnIseal_Click(object sender, EventArgs e) { if (lbIlanlar.SelectedItem == null) { MessageBox.Show("Bir ilan seçiniz"); } else { IlanBilgileri ilan = new IlanBilgileri(); ilanNumarasi = lbIlanlar.SelectedIndex + 1; ilan = hashChainTable.GetIlan(ilanNumarasi); HeapDugumu uygunAday = ((IlanBilgileri)ilan).heapIlanBasvurusu.UygunAdayBul(); if (uygunAday == null) { MessageBox.Show("İşe Uygun Aday Yok"); } else { txtIseAlinanEleman.Text = ((Kisi)uygunAday.Deger).Ad; } } }