반응형
void quickSort(vector<int>& v, int start, int end) {
	int pivot, left, right;
	pivot = start;
	left = start + 1;
	right = end;
	if (start >= end) return;
	while (left <= right) {
		while (left <= end && v[left] <= v[pivot]) {
			left++;
		}
		while (right > start && v[right] >= v[pivot] ) {
			right--;
		}
		if (left > right) swap(v[pivot], v[right]);
		else swap(v[left], v[right]);
	}

	quickSort(v, start, right - 1);
	quickSort(v, right + 1, end);
}

 

 

반응형

+ Recent posts