QuickSort C Code

void testQuickSort()
{
static int a[8]={4,7,8,5,2,6,3,1};
quickSort(a,0,7);

for(int i=0;i<8;i++)
printf("%d",a[i]);

}
static void quickSort (int a[], int lo, int hi)
{
// lo is the lower index, hi is the upper index
// of the region of array a that is to be sorted
int i=lo, j=hi, h;
int x=a[(lo+hi)/2];

// 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);
}

4 comments:

  Anonymous

6/18/2008 1:24 AM

Puthon code:
http://dahoiv.net/programmering/uncategorized/quick-sort

  Anonymous

6/18/2008 1:25 AM

*Python

  Anonymous

1/23/2009 3:05 PM

Thank you very very much for your code^^"

  Anonymous

10/26/2009 1:59 AM

oh lord, finally an implementation that works with repetitive elements.
thanks for your effort and for sharing it