#include<stdio.h>
void quick_sort(int arr[], int left, int right) {
if (left < right) {
int i = left, j = right, pivot = arr[i];
while (i < j) {
while (i<j&&arr[j]>pivot) {//此时判断使用i<j的目的是为了最终的目标位置是i=j时的位置
j--;
}
if (i < j) {
arr[i++] = arr[j];//因为pivot中保存了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);
}
}
快速排序C语言代码实现(2)
最新推荐文章于 2025-12-28 17:51:54 发布
本文详细介绍了在C语言中如何实现快速排序算法,通过递归的方式对整数数组进行排序,展示了关键的分区过程和主函数调用结构。
839

被折叠的 条评论
为什么被折叠?



