C Programlama Dili Insertion Sort Algoritması (Sıralama Algoritmaları 2)
C Programlama Dili Insertion Sort Algoritması ile sayıları küçükten büyüğe sıralayan program kodu. Insertion Sort (Eklemeli sıralama) algoritmasını bulabilirsiniz.
Insertion Sort’un en iyi ihtimali (n-1), bubble sort ((n-1)*(n/2)) ve selection sort’un ((n-1)*(n/2)) en iyi ihtimallerinde daha iyidir. Kullanıcı girilen sayıları sıralı olarak girerse insertion sort’ta n-1 işlem yapılmış olur (n girilen sayı adeti). Bubble sort ya da selection sort’ta ise kullanıcı sayıları sırala bile girse (n-1)*(n/2) adet işlem yapılmış olur.
- Kullanıcıdan kaç adet sayı girileceği sorulur.
- Kullanıcıdan sayılar alınır ve diziye kaydedilir.
- Dizinin elemanları ekrana yazdırılır.
- Instertion Sort algoritması ile dizinin elemanları küçükten büyüğe sıralanır.
- En son ekrana dizinin yeni hali yazdırılır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#include <stdio.h> #include <stdlib.h> int main(){ int sinir, j, sakla; int dizi[100]; printf("Girilecek sayi adeti: "); scanf("%d", &sinir); // Kaç adet sayı girileceği kullanıcıdan öğrenilir //Kullanıcıdan sayılar alınır for(int i=0; i<sinir; i++){ printf("%d)Sayi giriniz: ", i+1); scanf("%d", &dizi[i]); } //Alınan sayılar ekrana yazdırılır printf("Dizinin Eski Hali\n"); for(int i=0; i<sinir; i++) printf("%d ", dizi[i]); printf("\n\n"); // sayılar yazdırıldıktan sonra 2 satır aşağı iner //Insertion Sort Algoritması for(int i=1; i<sinir; i++){ sakla = dizi[i]; j = i; while(j > 0 && sakla < dizi[j-1]){ dizi[j] = dizi[j-1]; j--; } dizi[j] = sakla; } //Dizinin sıralanmış halini ekrana yazdırır printf("Dizinin Yeni Hali\n"); for(int i=0; i<sinir; i++) printf("%d ", dizi[i]); printf("\n"); system("pause"); return 0; } |
Leave a reply
Lütfen yorum için giriş yap ve yakayıt ol Teşekkürler .