public void quickSort(int start, int end) {
		int i = start, j = end;
		// find pivot, middle element
		int pivot = numbers[start + (end - start) / 2];
		
		
		//iterate till we are left with values which need
		//to be exchanged
		while (i <= j) {
			while (numbers[i] < pivot) {
				i++;
			}
			while (numbers[j] > pivot) {
				j--;
			}
			
			//exchange is value is larger than the pivot in
			//the left list and
			//smaller than the pivot in the right list
			if (i <= j) {
				exchange(i, j);
				i++;
				j--;
			}
		}

		if (start < end) {
			quickSort(start, j);
		}
		if (i < end) {
			quickSort(i, end);
		}

	}