Asp.net ile Selection Sort Kullanarak C# ile Sayı Sıralama

Bu yazımızda Veri Yapıları (Data Structures) derslerinde incelenen Selection Sort (Seçimli Sıralama) Algoritması  kullanarak bir ListBox nesnesi içindeki sayıları sıralatıp diğer Listbox nesnesine sıralanmış olarak atacağız. Bir Web Form üzerine aşağıdaki gibi 2 Listbox nesnesi yerleştiriniz. İki Listbox nesnesinin ortasına da Sıralama işlemini başlatacak btnSirala butonu yerleştirdik. 


Aşağıdaki tabloda nesnelerimize atadığımız değerler görülmektedir.

Nesne Adı Değer
Listbox ID lb1
Listbox ID lb2
TextBox ID txtEkle
Button ID btnSirala
Button Text Sırala
Button ID btnEkle
Button Text Ekle
Button ID btnSil1
Button Text Listeyi Temizle
Button ID btnSil2
Button Text Listeyi Temizle



 
İlk önce ikinci listeyi temizliyoruz. lb2.Items.Clear() bu işlemi yapıyor. Sonra 1. listemizde ne kadar eleman olduğunu Count metoduyla öğreniyoruz.     int boyut = lb1.Items.Count; satırı bu işlemi yapıyor. Listenin elmanlarını yeni oluştuırduğumuz A dizisine atıyoruz. Burada 2 döngü ile sıralatıp, birinci listbox'a ekliyoruz. 

protected void btnSirala_Click(object sender, EventArgs e)
        {
            lb2.Items.Clear();
 
            int boyut = lb1.Items.Count;
            int gecici;
            int[] A = new int[boyut];
            for (int i = 0; i < boyut; i++)
            {
                A[i] =int.Parse( lb1.Items[i].Value);
            }
 
            for (int i = 0; i <boyut-1 ; i++)
            {
                for (int j = i+1; j < boyut; j++)
                {
                    if (A[i] > A[j])
                    {
                        gecici = A[i];
                        A[i] = A[j];
                        A[j] = gecici;
 
                    } //if şartı
                } //for j
 
            }// for i
 
 
            for (int i = 0; i < boyut; i++)
            {
                lb2.Items.Add(A[i].ToString());
            }
        }

Aşağıdaki metod 1.listeyi tamamen temizliyor

protected void btnSil1_Click(object sender, EventArgs e)
        {
            lb1.Items.Clear();
        }

Aşağıdaki metod 2.listeyi tamamen temizliyor

protected void btnSil2_Click(object sender, EventArgs e)
        {
            lb2.Items.Clear();
        }

Aşağıdaki metotta 1.listemizde seçilen eleman siliniyor.
 
        protected void btnSecSil_Click(object sender, EventArgs e)
        {
            lb1.Items.Remove(lb1.Items[lb1.SelectedIndex]);
        }

Aşağıdaki metotta metin kutusuna girilen bir sayı 1.listemize ekleniyor.
 
        protected void btnEkle_Click(object sender, EventArgs e)
        {
            lb1.Items.Add(txtEkle.Text);
        }
 
Mutlu kodlamalar,
Oğuzhan TAŞ
Nisan 2018. Bookmark and Share