Insertion Sort ile girilen sayıları sıralama

Sıralama Algoritamalarının sonuncusu. Kısaca özetleyen GIF:
Insertion-sort-example.gif


Detaylı Bilgi:

C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define MAX 100 // 100'ü kendinize göre şekillendirebilirsiniz.

void insertionSort(int dizi[], int boyut)
{

    int eleman, once, j;

    for (int i = 1; i < boyut; i++)
    {

        eleman = dizi[i];
        once = i - 1;
        while (once >= 0 && dizi[once] > eleman)
        {
            dizi[once + 1] = dizi[once];
            once--;
        }
        dizi[once + 1] = eleman;
    }
}

int main()
{

    setlocale(LC_ALL, "Turkish");

    int tamSayiDizi[MAX], boyut;

    printf("Kaç adet sayı sıralamak istiyorsunuz?\n");
    scanf("%d", &boyut);

    for (int i = 0; i < boyut; i++)
    {
        //printf("%d. elemanı giriniz.\n", i + 1); // burayı daha düzgün görmek için ve hızlı olması açısından yorum içine aldım. İsterseniz açabilirsiniz.
        scanf("%d", &tamSayiDizi[i]);
    }

    printf("\nGirdiğiniz sayılar:\n");

    for (int i = 0; i < boyut; i++)
    {
        printf("%d ", tamSayiDizi[i]);
    }

    printf("\n\n");

    insertionSort(tamSayiDizi, boyut);

    printf("Girdiğiniz sayıların İnsertion Sort ile sıralanmış hali:\n");

    for (int i = 0; i < boyut; i++)
    {
        printf("%d ", tamSayiDizi[i]);
    }

    printf("\n");

    system("pause");
    return 0;
}

Yorumlar

Tamsayı dizisini int64_t *dizi = (int64_t*) malloc(sizeof(int64_t)*boyut); ile dinamik yapmanız daha iyi olur.
Ayrıca sayı yerine harf/işaret girildiğinde programınız çökecektir, onu da kontrol altına almanız gerek.
 

Blog girdisi detayları

Ekleyen
342746
Okuma süresi
1 dakika okuma
Görüntüleme
900
Yorumlar
2
Son güncelleme

Yazılım kategorisindeki diğer girdiler

342746 adlı kullanıcının diğer girdileri

Bu girdiyi paylaş

Geri
Yukarı