Wah,,udah lama tdak post something lg ni..Nah kali ini saya akan posting program Pengurutan atau sorting file random.Program pengurutan ini digunakan untuk mengurutkan file random.Kelemahan program ini adalah hasil pengurutannya pun menjadi random alias acak,dalam artikel ini terdapat dua metode sort yang saya post kan yaitu insertion sort dan selection sort. source codenya sebagai berikut :
Insertion Sort :
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int tabInt[100000];
int i;
int data_sisip;
int j;
int n=100; //uji dengan angka 10,100,1000,10000,100000 contoh n=100,n=1000,...
int x=100;
for(i = 0; i < n; i++)
{
printf(" data ke %i : ", i + 1);
printf("%i\n", rand()%x);
tabInt[i]=rand()%x;
}
for(i = 0; i < n; i++)
{
data_sisip = tabInt[i];
j = i - 1;
while((data_sisip < tabInt[j])&&(j>=0)) // jika ingin mengubahnya menjadi descending,ubah tanda < menjadi > ....
{
tabInt[j + 1] = tabInt[j];
j = j - 1;
}
if(data_sisip > tabInt[j]) // .... dan ganti > menjadi <
{
tabInt[j + 1] = data_sisip;
}
else
{
tabInt[j + 1] = tabInt[j];
tabInt[j] = data_sisip;
printf("\n\n\n\n");
}
}
printf("\nSetelah Pengurutan\n");
for(i = 0; i < n; i++)
{
printf("Elemen ke %i : %i\n", i + 1, tabInt[i]);
}
return 1;
}
Selection Sort :
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
int tabInt[100000];
int i;
int temp;
int minIndeks;
int n=10; //uji dengan angka 10,100,1000,10000,100000 contoh n=100,n=1000,...
int x=100;
int j;
for(i = 0; i <n; i++)
{
printf(" data ke %i : ", i + 1);
printf("%i\n", rand()%x);
tabInt[i]=rand()%x;
}
for(i = 0; i <(n-1); i++)
{
minIndeks=i;
for(j=(i+1);j<n;j++)
{
if(tabInt[minIndeks] > tabInt[j]) // jika ingin mengubahnya menjadi descending,ubah tanda > menjadi < ....
{
minIndeks=j;
}
}
temp=tabInt[i];
tabInt[i]=tabInt[minIndeks];
tabInt[minIndeks]=temp;
}
printf("\nSetelah Pengurutan\n");
for(i = 0; i <(n-1); i++)
{
printf("Elemen ke %i : %i\n", i + 1, tabInt[i]);
}
return 1;
}