mehmetduran.com - Paylaşmak Güzeldir...
C# ile Insertion Sort Algoritması
Bu yazımda okulda almış olduğum Algoritmalar dersinde gördüğümüz Insertion Sort algoritmasının C# kodlarını sizlerle paylaşacağım. Bu algoritma ile elimizde bulunan integer türünden bir dizinin elemanlarını sıralayacağız. Bu algoritmayı iskambil kağıtlarını sıralama mantığıyla benzetebiliriz. Sırayla dizinin tüm elemanlarını birbirleriyle karşılaştırarak sıralama yapıyoruz. Performans bakımından diğer algoritmalardan kötü olsa da bilmemizde fayda var. Şimdi bu algoritmayı C# ile nasıl yapacağımıza bakalım.

Bu algoritmayı kullanmak için void türünden bir metot hazırladım ve sıralayacağımız integer türünden diziyi bu metoda parametre olarak veriyoruz. Metot çalıştığında diziyi sıralanmış olarak elde ediyoruz. Insertion Sort algoritmasının C# kodları ve kullanımı şu şekilde olacak.

    public void insertion_sort(int[] dizi)
    {
      for (int j = 1; j < dizi.Length; j++)
      {
        int key = dizi[j];
        int i = j - 1;
        while (i >= 0 && dizi[i] > key)
        {
          dizi[i + 1] = dizi[i];
          i = i - 1;
        }
        dizi[i + 1] = key;
      }
    }
 
    /*Insertion Sort Kullanımı*/
    int[] dizi = { 12, 3, 8, 5, 15, 12, 45, 31 };
    insertion_sort(dizi);

Görüldüğü gibi bu şekilde Insertion Sort algoritmasını C# ile hazırlamış oluyoruz.

İyi Çalışmalar.
Mehmet Duran 25 Nisan Cumartesi 2009 1 17636 4,2
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Bilişim Günleri 2009 (12-13-14 Mayıs) Introduction to Algorithms (E-Book) Sitemin Kodlarını Yeniledim ve Yayınladım alperocalan.com | Hasan Alper Öcalan - Site Tanıtımı Hayatımdaki Gelişmeler
Yorumlar
Yorum Yaz
RSS Yorum Takibi
Şeref Akyüz 06 Nisan Çarşamba 2011 14:43 #1
Algoritmanın çalışma zamanı ile ilgili bilgi arıyorum ama galiba yabancı kaynaklara bakmam gerekecek. Teşekkürler kod için...
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Hizmet amaçlı işler başarıya, kar amaçlı olanlar ise başarısızlığa yöneliktir.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009