C语言的快速排序怎呢写
时间: 2023-03-11 11:08:23 浏览: 19
C语言的快速排序的实现方法如下:
1. 选取基准数:从数列中选取一个数作为基准数。
2. 分割数列:重新排序数列,所有比基准数小的元素摆放在基准数前面,所有比基准数大的元素摆在基准数后面(与基准数相等的数可以到任何一边)。在这个分割结束之后,对基准数左边和右边的两个子序列重复步骤1~2,直到整个序列有序为止。
以下是C语言实现的代码:
```
#include<stdio.h>
void quick_sort(int *arr, int left, int right)
{
int i, j, pivot, temp;
if (left < right)
{
pivot = left;
i = left;
j = right;
while (i < j)
{
while (arr[j] >= arr[pivot] && i < j)
j--;
while (arr[i] <= arr[pivot] && i < j)
i++;
if (i < j)
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
temp = arr[pivot];
arr[pivot] = arr[j];
arr[j] = temp;
quick_sort(arr, left, j - 1);
quick_sort(arr, j + 1, right);
}
}
int main()
{
int arr[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
int n = sizeof(arr)/sizeof(arr[0]);
quick_sort(arr, 0, n-1);
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
```
这份代码将实现快速排序算法,将数组从小到大排序。
阅读全文