
quicksort
By:
Bladtman on
Nov 3rd, 2011 | syntax:
Java | size: 0.91 KB | hits: 29 | expires: Never
private void sort(int[] arr, int a, int b)
{
if (a < b)
{
int i = a, j = b;
int x = arr[(i+j) /2];
do{
for (int in : arr) {System.out.print(in + ", ");}
System.out.print("\tp" + (i+j)/2 +"\ti" + i + "\tj" + j + "\ta" + a + "\tb" + b +"\t\t");
for (int in = a; in <= b; in++) {System.out.print(arr[in] + ", ");}
System.out.println();
while(arr[i] < x) {i++; comps++;}
comps++;
while(arr[j] > x) {j--; comps++;}
comps++;
if (i<=j)
{
swap(arr, i, j);
i++;
j--;
}
comps++;
} while(i<j);
sort (arr, a, j);
sort (arr, i, b);
}
}