快速排序子函数C语言代码
时间: 2023-11-24 20:48:28 浏览: 98
快速排序是一种常用的排序算法,其主要思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再分别对这两部分记录继续进行排序,以达到整个序列有序的目的。下面是快速排序的子函数C语言代码:
```
void QuickSort(int a[], int low, int high) {
int i, j, pivot;
if (low < high) {
i = low;
j = high;
pivot = a[low];
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;
QuickSort(a, low, i - 1);
QuickSort(a, i + 1, high);
}
}
```
该代码实现了快速排序的主要逻辑,其中使用了递归的方式对子序列进行排序。具体来说,首先选取序列中的一个元素作为基准值(pivot),然后将序列中小于基准值的元素放在基准值的左边,大于基准值的元素放在基准值的右边。接着,对左右两个子序列分别进行递归排序,直到整个序列有序为止。
阅读全文