Feb 16, 2016 Page 1
swap(arr, i, lastSmall + 1);
private static void quicksort(int[] arr, int start, int end)
{
if (start < end)
{
int p = partition(arr, start, end);
quicksort(arr, start, p - 1);
quicksort(arr, p + 1, end);
}
}
private static int partition(int[] arr, int start, int end)
{
int pivot = arr[start];
int lastSmall = start;
for (int i = start + 1; i <= end; i++)
{
if (arr[i] < pivot)
{
lastSmall++;
}
}
swap(arr, lastSmall, start);
return lastSmall;
}
Feb 16, 2016 Page 2
private static void quicksort(int[] arr, int start, int end)
{
if (start < end)
{
int p = partition(arr, start, end);
quicksort(arr, start, p - 1);
quicksort(arr, p + 1, end);
}
}
Feb 16, 2016 Page 3
Feb 16, 2016 Page 4
Top Related