用C++写一个快速排序算法
时间: 2023-07-18 15:49:28 浏览: 42
好的,以下是C++实现的快速排序算法:
```c++
void quickSort(int arr[], int left, int right) {
int i = left, j = right;
int tmp;
int pivot = arr[(left + right) / 2];
/* partition */
while (i <= j) {
while (arr[i] < pivot)
i++;
while (arr[j] > pivot)
j--;
if (i <= j) {
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
};
/* recursion */
if (left < j)
quickSort(arr, left, j);
if (i < right)
quickSort(arr, i, right);
}
```
这个函数的参数是一个整型数组、左侧索引和右侧索引。首先,找到数组中间的元素作为枢轴(pivot),然后将数组分成两个子数组:左边的数组包含小于枢轴的元素,右边的数组包含大于枢轴的元素。之后,递归地对这两个子数组进行排序。
希望我的回答能够帮到你,如果你有其他的问题,欢迎随时问我!