BilimProgramlama

C Programlama Dili ile Insertion Sort

Insertion Sort Sıralama Algoritması

Herkese merhaba! Instagram sayfamızda yaptığımız anket sonucu bir başka sıralama algoritması yazısıyla karşınızdayız. Bugün size Insertion Sort sıralama algoritması anlatacağım. Tabii ki C Programlama Dili ile örnekleyerek. Geçmiş yazımızda sıralama algoritmasının ne olduğu ile ilgili basit bilgiler vermiştik. O yüzden direk konuya giriyorum. Eğer okumak isterseniz de aşağıya linki bırakıyorum.

C Programlama Dili ile Bubble Sort



INSERTION SORT ALGORİTMASI NEDİR?

Insertion Sort sıralama algoritması bir önceki yazımızda bahsettiğimiz Bubble Sort sıralama algoritmasından biraz daha akıllı. Kod çalışmaya başladığı zaman dıştaki döngü verilen dizinin 1. indeksindeki elemanıyla karşılaştırma yapmaya başlıyor. İçteki while döngüsü dizinin 1. indeksteki elemanını 0. indeksteki elemanla karşılaştırıyor ve eğer koşul sağlanırsa swap işlemini yapıyor. İçteki while döngüsünden çıkıldığında i değeri bir arttırılıyor. Şimdi sıra 2. indeksteki eleman ile 1. indeksteki elemanı karşılaştırmada. İçteki while döngüsü 2. indeksteki eleman ile 2. indeksteki elemanı karşılaştırıyor ve koşul sağlanırsa swap işlemini yapıp j değişkenini bir azaltıyor. Yani artık yeri değiştirilen 2. indeksteki eleman artık 1. indekste ve sıra 1. indeksteki elemanla 0. indeksteki elemana geldi. Eğer içteki while döngüsünün koşulu sağlanırsa onlarada swap işlemi uygulanıyor. Peki bu ne demek? Bubble Sort ile karşılaştıracak olursak dizinin n – 1. inci elemanına kadar karşılaştırmak yerine geriye doğru gidip o aralıktaki en küçük değeri yerine yerleştiriyor. (Insert buradan geliyor.) Bu işlemleri ta ki dıştaki for döngüsü sonlanana kadar yapıyor. Her geriye doğru karşılaştırma diziyi bir kez daha sıraya sokuyor. Üstelik j değişkenini azaltarak gittiği için dıştaki for döngüsü sınırlarında yerleştirdiği değerleride kontrol ediyor. Insertion Sort kabaca bu işi yapıyor. Yazımızın odağı programlama öğrenmek isteyen insanlar olduğu için Time Complexity gibi algoritma analizinin konularına giren bilgileri vermeyeceğim. Eğer anlatımımda çelişen veya yanlış olan bir yer varsa bize Instagram’dan ulaşmaya çekinmeyin lütfen.




insertion-sort

C PROGRAMLAMA DİLİ İLE INSERTION SORT

Aşağıda Insertion Sort sıralama algoritmasının C programlama dili ile yazılmış kodlarını göreceksiniz. Sizde kodlardan yararlanarak Insertion Sort algoritmasını kullanabilir ve programlamada bir adım daha ilerleyebilirsiniz.

#include <stdio.h>
void swap(int array[], int x, int y){
    int temp;
    temp = array[x];
    array[x] = array[y];
    array[y] = temp;
}
void insertionSort(int array[], int n){
    int i, j;
    for(i =1; i < n; i++){
    j = i;
    while(j >0&& array[j -1] > array[j]){
        swap(array, j, j -1);
        j–;
        }
    }
}
void printArr(int array[], int n){
    int i;
    for(i =0; i < n; i++)
    printf(“%d\n”, array[i]);
}
int main(){
    int array[] = {1, 4, 5, 2, 40, 90, 3};
    int n;
    n = sizeof(array) / sizeof(array[0]);
    insertionSort(array, n);
    printArr(array, n);
}

Bu kod tamamen eğitim amaçlı yazılmıştır. Yukarıdaki kodu kopyalamak sizi bir programcı yapmaz!

Bir sonraki yazımızda başka kodlarla görüşmek üzere.

Etiketler

Serdar

Çok küçükken başlayan teknoloji sevdam bu gün adaylığımı koyduğum mesleğime dönüşmek üzere devam ediyor.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close

Adblock Algılandı

Bize destek olmak için lütfen reklam engelleyicinizi sitemizde devredışı bırakın.