写一个C的快速排序算法
时间: 2024-03-30 12:15:20 浏览: 26
以下是C语言实现的快速排序算法:
```
#include <stdio.h>
void quicksort(int array[], int left, int right) {
int i = left, j = right;
int temp;
int pivot = array[(left + right) / 2];
// 分割数组
while (i <= j) {
while (array[i] < pivot)
i++;
while (array[j] > pivot)
j--;
if (i <= j) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
i++;
j--;
}
}
// 递归调用
if (left < j)
quicksort(array, left, j);
if (i < right)
quicksort(array, i, right);
}
int main() {
int i;
int array[] = { 5, 3, 8, 4, 2, 7, 1, 10, 6, 9 };
int length = sizeof(array) / sizeof(array[0]);
quicksort(array, 0, length - 1);
for (i = 0; i < length; i++)
printf("%d ", array[i]);
return 0;
}
```
此算法的时间复杂度为O(n log n),其中n表示待排序数组的元素个数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)