考虑以下C++代码实现的快速排序算法: 以下关于快速排序的说法,正确的是( )。
int partition(vector<int>& arr, int left, int right) {
int pivot = arr[right]; // 基准值
int i = left - 1;
for (int j = left; j < right; j++) {
if (arr[j] < pivot) {
i++;
swap(arr[i], arr[j]);
}
}
swap(arr[i + 1], arr[right]);
return i + 1;
}
// 快速排序
void quickSort(vector<int>& arr, int left, int right) {
if (left < right) {
int pi = partition(arr, left, right);
quickSort(arr, left, pi - 1);
quickSort(arr, pi + 1, right);
}
}
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析