c语言快速排序并且输出每次对应数据的情况
时间: 2023-07-22 08:32:31 浏览: 40
好的,下面是C语言实现快速排序并输出每次对应数据情况的代码:
```c
#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;
printf("排序中:");
for (int k = 0; k < 10; k++)
printf("%d ", arr[k]);
printf("\n");
quick_sort(arr, left, i - 1);
quick_sort(arr, i + 1, right);
}
int main()
{
int arr[] = { 5, 7, 3, 9, 2, 1, 8, 4, 6, 0 };
printf("排序前:");
for (int i = 0; i < 10; i++)
printf("%d ", arr[i]);
printf("\n");
quick_sort(arr, 0, 9);
printf("排序后:");
for (int i = 0; i < 10; i++)
printf("%d ", arr[i]);
printf("\n");
return 0;
}
```
这里使用了递归的快速排序算法,每次分区后输出当前数组的情况。在输出中,可以看到数组逐渐被分成两部分,左边部分的数据都小于右边部分的数据。最终,整个数组被完全排序。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)