Baru baru ini saya mendapat tugas untuk membuat source code tentang Quick Sort,sebenarnya code nya sudah disediakan oleh dosen saya,namun terdapat error di code tersebut,dengan sedikit otak atik dari saya maka code ny sekrang sudah bisa di compile,,,,
check this out :
#include <stdio.h>
#include <stdlib.h>
static void quickSort (int a[], int lo, int hi)
{
int i=lo, j=hi, h;
int x=a[lo];
// partition
do
{
while (a[i]<x) i++;
while (a[j]>x) j--;
if (i<=j)
{
h=a[i]; a[i]=a[j]; a[j]=h;
i++; j--;
}
}
while (i<=j);
// recursion
if (lo<j) quickSort(a, lo, j);
if (i<hi) quickSort(a, i, hi);
}
int main()
{
int tabInt[100000];
int n=10; // bisa anda ganti dengan angka 10,100,1000,10000 ...
int x=100;
int i;
for(i = 0; i < n; i++)
{
tabInt[i]=i;
}
for(i=0;i<n;i++)
{
printf("%d\n",tabInt[i]);
}
printf("\n\n");
quickSort(tabInt,0,n-1);
for(i=0;i<n;i++)
{
printf("%d\n",tabInt[i]);
}
return 0;
}
check this out :
#include <stdio.h>
#include <stdlib.h>
static void quickSort (int a[], int lo, int hi)
{
int i=lo, j=hi, h;
int x=a[lo];
// partition
do
{
while (a[i]<x) i++;
while (a[j]>x) j--;
if (i<=j)
{
h=a[i]; a[i]=a[j]; a[j]=h;
i++; j--;
}
}
while (i<=j);
// recursion
if (lo<j) quickSort(a, lo, j);
if (i<hi) quickSort(a, i, hi);
}
int main()
{
int tabInt[100000];
int n=10; // bisa anda ganti dengan angka 10,100,1000,10000 ...
int x=100;
int i;
for(i = 0; i < n; i++)
{
tabInt[i]=i;
}
for(i=0;i<n;i++)
{
printf("%d\n",tabInt[i]);
}
printf("\n\n");
quickSort(tabInt,0,n-1);
for(i=0;i<n;i++)
{
printf("%d\n",tabInt[i]);
}
return 0;
}