C Dilinde İnsertion Sort Algoritması

erkankarabulut

Öğrenci
Katılım
18 Mart 2016
Mesajlar
30
Reaksiyon puanı
7
Puanları
8
Yaş
28
Merhabalar herkese,

Bu seferde sizlere başka bir sıralama algoritması olan insertion sort yani, sıralı diziyi öge öge oluşturan bir sıralama algritmasını anlatıcam. Umarım birilerine faydalı olur...

İnsertion sort sıralı diziyi her adımda öge öge oluşturan bir sıralama tipidir. Şöyle ki dizinin 2. teriminden başlayarak önce 2. terimi 1. terim ile karşılaştırıp sıralıyoruz. Daha sonra 3. terimi kendisinden önce gelen ve artık sıralı bir dizi olmuş olan elemanlarla karşılaştırıp uygun olan yere koyuyoruz. Böylece dizinin son elemanına kadar aynı işlemleri tekrarlayıp sıralı dizimizi elde etmiş oluyoruz.

Örnek :

Rastgele girilen bir diziyi insertion sort kullanarak sıralama :
Kod:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
int i,eleman,dizi[200],temp;
srand(time(NULL));
printf("Dizinin eleman sayisini giriniz :");
scanf("%d",&eleman);
for(i=0;i<eleman;i++) // elemanlarımıza rastgele değer atadık.
{
dizi[i]=rand()%100;
}
for(i=0;i<eleman;i++)
{
printf("%d ",dizi[i]); // sırasız diziyi ekrana yazdırdık.
}

printf("\n");

//insertion sort

for(i=1;i<eleman;i++)
{
temp=dizi[i]; // Yer değiştireceğimiz elemanı kaybolmaması için temp
// değişkenine atadı.
while(dizi[i-1]>temp && i>0)
{
dizi[i]=dizi[i-1]; // Küçük olan elemanı başa aldık.
i--;
}
dizi[i]=temp;
}
for(i=0;i<eleman;i++)
{
printf("%d ",dizi[i]); // son olarak sıralı diziyi tekrar ekrana yazdırdık.
}

return 0;
}
Kaynak ve Videolu Anlatım İçin :

C Dersleri (11. Ders) İnsertion Sort - Erkan Karabulut
 
Üst