快速排序c语言基准数
时间: 2023-07-01 21:23:53 浏览: 53
快速排序是一种常用的排序算法,其基本思想是通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再分别对这两部分记录继续进行排序,以达到整个序列有序的目的。在快速排序中,选择基准数是非常重要的一步,C语言中的快速排序基准数选择代码如下:
```
void quickSort(int *arr, int left, int right) {
if (left < right) {
int i = left, j = right, tmp, pivot = arr[left];
while (i < j) {
while (i < j && arr[j] >= pivot)
j--;
arr[i] = arr[j];
while (i < j && arr[i] <= pivot)
i++;
arr[j] = arr[i];
}
arr[i] = pivot;
quickSort(arr, left, i - 1);
quickSort(arr, i + 1, right);
}
}
```
在上述代码中,基准数的选择是通过 `pivot = arr[left]` 进行的,即将数组第一个元素作为基准数。在实际应用中,还可以选择随机数、中位数等作为基准数,以提高快速排序的效率。