public void quickSort(int[] data, int start, int end){
		int i = start;
		int j = end;
		int p = (start + end)/2;
		int pivot = data[p];
		
		while(i < j){
			while(i < p && pivot >= data[i]){
				++i;
			}
			if(i < p){
				data[p] = data[i];
				p = i;
			}
			while(j > p && pivot <= data[j]){
				--j;
			}
			if(j > p){
				data[p]= data[j];
				p = j;
			}
		}
		data[p] = pivot;
		if(p - start > 1){
			quickSort(data, start, p - 1);
		}
		if(end - p > 1){
			quickSort(data, p + 1, end);
		}
	}