#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
main()
{
srand (time(NULL));
int g, i, j, n,pilih,iMin,Urut; //Deklarasi index untuk array
int Tmp; //Tmp penampung elemen array
int Arr[100000]; //Deklarasi Array
char f,lagi;
//Aplikasi dimulai
printf(">>>>>>> TUGAS2 ALPRO2 <<<<<<<\n\n");
printf("======= PROGRAM INSERTION SORT =======\n\n\n");
printf("SILAHKAN INPUT BANYAK DATA YANG DIINGINKAN (MAX 1000000) : ");
scanf("%i", &n);
for(i = 0; i < n; i++)
{ //Perulangan untuk inputan array
printf(" data ke %i : ", i + 1);
printf("%i\n", rand()%1000000);
Arr[i]=rand()%1000000;
}
for(i = 1; i < n; i++) { //Ulang untuk tiap elemen dari data kedua
Tmp = Arr[i]; //Tampung tiap data
j = i - 1; //Set index j = i - 1
while(Arr[j] >= Tmp && j > 0) { //Ulang sampai Array j lebih dari Tmp dan j > 0
Arr[j + 1] = Arr[j]; //Sisipkan data Array j ke Array j + 1
j = j - 1; //Lanjutkan perulangan
}
//Cek Hasilnya
if(Tmp >= Arr[j]) { //Jika Tmp lebih besar array j
Arr[j + 1] = Tmp; //Maka data Arr[j + 1] dikembalikan ke nilai awal
} else { //Selainnya
Arr[j + 1] = Arr[j]; //Tukar Nilai antara Array j + 1 dengan j
Arr[j] = Tmp; //Nilai Array j diisi oleh Tmp
printf(" ________________________________________________________________");
}
}
//Tampilkan Hasil
printf("\nSetelah Pengurutan\n");
for(i = 0; i < n; i++) { //Perulangan untuk tampilan Array
printf("Elemen ke %i : %i\n", i + 1, Arr[i]);
}
getch();
}