package com.anuragkapur.sorting; /** * @author anuragkapur */ public class QuickSort { public void sort(int a[], int start, int end) { if (end <= start) { return; } int partition = partition(a, start, end); sort(a, start, partition-1); sort(a, partition+1, end); } public int partition(int a[], int start, int end) { int i = start - 1; int x = a[end]; for (int j = start; j < end; j++) { if (a[j] < x) { i++; int temp = a[i]; a[i] = a[j]; a[j] = temp; } } i++; int temp = a[i]; a[i] = a[end]; a[end] = temp; return i; } }