Jump to content

C# İnsertion Short Algoritması


lamont
 Share

Recommended Posts

Arkadaşlar sıralama mantıgında bubble short kullanımı biliyorum liakin diger algoritma yöntemelrinide ögrenmeye çalışıyorum insetion short çalışmasında bazı noktalar kafama takıldı yardımcı olabilirmisiniz ...
 int[] sayilar = new int[] {8,15,6,21,32 };
        int j = 0,ekle;
        private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 1; i < sayilar.Length; i++)
            {
                ekle = sayilar[i];
                j = i - 1;
                if (j>=0 && sayilar[j] > ekle)
                {
                    sayilar[j + 1] = sayilar[j];
                    j--; 
                }

                sayilar[j + 1] = ekle;
            }

            for (int i = 0; i < sayilar.Length; i++)
            {
                listBox1.Items.Add(sayilar[i].ToString());
            }

        }
    }
}

Edited by lamont
Link to comment
Share on other sites

başka bir sıralama yöntemi.. yardımcı olur sanırım
global : const int ADET = 50;
 
int[] dizi = new int[ADET];
 
            //listBox1 içindeki tüm öğeleri diziye aktar
            for (int i = 0; i < ADET; i++)
            {
                dizi[i] = Convert.ToInt32(listBox1.Items[i]);
            }
 
            //Sıralama algoritması
            //***********************
            // Başlangıç
            //***********************
            for (int i = 0; i < ADET-1; i++)
            {
                for (int j = i; j < ADET; j++)
                {
                    if (dizi[i]> dizi[j])
                    {
                        int gecici = dizi[i];
                        dizi[i] = dizi[j];
                        dizi[j] = gecici;
                    }
                }
            }
            //***********************
            // Bitiş
            //***********************
 
            //listBox1 e dizinin elemanlarını yeniden ekle
            //Yani sıralanmış dizinin içeriğini 
            //listBox1 içine ekle
            listBox1.Items.Clear();
 
            for (int i = 0; i < ADET; i++)
            {
                listBox1.Items.Add(dizi[i]);
            }

kodlar aynıymış :)

neyse

for un olduğu sayfaya breakpoint koy programı çalıştır.

sıralama butonuna tıkla programın bu satırı çalışırken duraksayacak

f11 ile adım adım çalıştırabilirsin

kodların alt tarafındaki bi pencerede satır satır  çalıştırıp değişkenlerin hangi değer aldığını izleyebilirsin

kavrayamazsan kağıt al ve tektek değişken değerlerini yanyana yaz. ancak o şekilde anlarsın

Edited by MehmetErdo287du
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...