Insertion Sort

Kategori: C , 02 Temmuz 2019 , JanFranco


Insertion sort algoritması, iskambil kartlarını elimizle düzene sokmamıza benzer. Her iterationda, adımda seçilen eleman, indexi kendisinden küçük olan elemanlarla karşılaştırılır ve o elemanlar arasında yeri nereye uygunsa oraya konur. Tabi böylece indexi kendisinden küçük olan elemanların bulunduğu bölgede bir kayma işlemi yapılır. Rastgele 100 elemandan oluşan bir diziyi insertion sort ile sıralayalım:


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define N 100

void insertion_sort(int arr[]){
    int i, j, element, temp;

    for(i=1; i<N; i++){
        element = arr[i];
        for(j=i-1; j>=0; j--){
            if(element > arr[j]){
                break;
            }
            arr[j+1] = arr[j];
            arr[j] = element;
        }
    }

    for(i=0; i<N; i++){
        printf("%d\n", arr[i]);
    }
}

int main() {

    int arr[N], i;
    srand(time(NULL));

    for(i=0; i<N; i++){
        arr[i] = rand() % N;
    }

    insertion_sort(arr);

    return 0;
}


Sonraki Yazı: Selection Sort
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın