用C语言编写输出{6, 8, 7, 9, 0, 1, 3, 2, 4, 5}的快速排序过程及排序结果;
时间: 2023-08-19 14:31:14 浏览: 47
好的,下面是用C语言编写输出{6, 8, 7, 9, 0, 1, 3, 2, 4, 5}的快速排序过程及排序结果的代码:
```
#include <stdio.h>
void quick_sort(int arr[], int left, int right)
{
if (left >= right) return; // 递归结束条件
int i = left, j = right, pivot = arr[left]; // 左右指针和基准元素
while (i < j)
{
// 从右向左找第一个小于基准元素的元素
while (i < j && arr[j] >= pivot) j--;
if (i < j) arr[i++] = arr[j];
// 从左向右找第一个大于基准元素的元素
while (i < j && arr[i] <= pivot) i++;
if (i < j) arr[j--] = arr[i];
}
arr[i] = pivot; // 将基准元素放置到正确的位置
// 对基准元素左右两部分进行递归排序
quick_sort(arr, left, i - 1);
quick_sort(arr, i + 1, right);
}
int main()
{
int arr[] = {6, 8, 7, 9, 0, 1, 3, 2, 4, 5};
int len = sizeof(arr) / sizeof(arr[0]);
printf("排序前的数组:\n");
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
quick_sort(arr, 0, len - 1); // 调用快速排序函数
printf("排序后的数组:\n");
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
排序前的数组:
6 8 7 9 0 1 3 2 4 5
排序后的数组:
0 1 2 3 4 5 6 7 8 9
```
可以看到,快速排序算法通过递归地将数组分成左右两部分,然后通过基准元素的比较和交换,将数组中的元素逐个放到正确的位置上,最终实现了对数组的排序。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![text/plain](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.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_column_c1.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_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)
![](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)