void partition(int[] list, int left, int right, int pivotIndex) { int pivotValue = list[pivotIndex]; swap(list[pivotIndex], list[right]); int storeIndex = left; for(int i = left; i < right; i++) { if(list[i] < pivotValue) { swap(list[storeIndex], list[i]); storeIndex++; } } swap(list[right], list[storeIndex]); return storeIndex; }