问快速排序是什么?如何用C语言实现快速排序?
快速排序是一种常用的排序算法,其基本思想是通过一趟排序将待排序序列分割成两个部分,其中一部分的所有元素均比另一部分的所有元素小,再分别对这两部分继续进行排序,直到整个序列有序。
下面是快速排序的C语言实现步骤
1. 选取一个基准数,一般选取个数或者一个数作为基准数。
2. 将序列中小于基准数的数放在基准数的左边,大于基准数的数放在基准数的右边。
3. 对左右两个子序列重复步骤1和步骤2,直到所有子序列有序。
下面是快速排序的C语言实现代码
```clude
ttt right)
if(left >= right);t i = left, j = right, pivot = a[left];
while(i< j)
{
while(i< j && a[j] >= pivot)
j--;
if(i< j)
a[i++] = a[j];
while(i< j && a[i]< pivot)
i++;
if(i< j)
a[j--] = a[i];
}
a[i] = pivot;
quick_sort(a, left, i-1);
quick_sort(a, i+1, right);
tain()
{t a[] = {9, 8, 7, 6, 5, 4, 3, 2, 1};t = sizeof(a) / sizeof(a[0]);-1);t; i++)tf("%d ", a[i]); 0;
logn),是一种比较高效的排序算法。