快速排序
时间: 2023-06-22 14:23:23 浏览: 67
快速排序(Quick Sort)是一种常用的排序算法,利用分治的思想来对待排序序列进行快速排序,它的基本思想是:
1. 选择一个基准元素,将待排序序列分成两个子序列,比基准元素小的在左边,比基准元素大的在右边。这个过程称为分区(Partition)操作。
2. 对左右两个子序列分别进行快速排序,直到所有子序列都有序。
快速排序的时间复杂度为O(nlogn),是一种比较高效的排序算法。以下是一个简单的快速排序实现代码示例:
```
void quickSort(int arr[], int left, int right){
int i = left, j = right;
int pivot = arr[(left + right) / 2];
while (i <= j) {
while (arr[i] < pivot)
i++;
while (arr[j] > pivot)
j--;
if (i <= j) {
swap(arr[i], arr[j]);
i++;
j--;
}
}
if (left < j)
quickSort(arr, left, j);
if (i < right)
quickSort(arr, i, right);
}
```