用c++写一个快速排序
时间: 2024-02-18 15:37:06 浏览: 52
c++快速排序
好的,以下是一个用 C 语言实现的快速排序的函数:
```
void quicksort(int arr[], int low, int high) {
int pivot, i, j, temp;
if (low < high) {
pivot = low;
i = low;
j = high;
while (i < j) {
while (arr[i] <= arr[pivot] && i <= high) {
i++;
}
while (arr[j] > arr[pivot] && j >= low) {
j--;
}
if (i < j) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
temp = arr[j];
arr[j] = arr[pivot];
arr[pivot] = temp;
quicksort(arr, low, j - 1);
quicksort(arr, j + 1, high);
}
}
```
此函数接收三个参数:
- `arr`:要排序的数组;
- `low`:数组中要排序的起始位置;
- `high`:数组中要排序的结束位置。
使用该函数对数组进行排序的方式是调用该函数并传入数组及其长度。例如,要对长度为 `n` 的数组 `arr` 进行排序,可以这样调用函数:
```
quicksort(arr, 0, n - 1);
```
阅读全文