A29885. 考虑以下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],…
单选题
困难
知识点
题目描述
考虑以下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);
}
}
以下关于快速排序的说法,正确的是( )。
选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员
上一题
下一题