VS2022,下面的快速排序逻辑错了
//快速排序
#include"stdio.h"
void qiuick_short(int arr[], int l, int r)
{
int i = l; int j = r;
int temp; int k = (i + j) / 2;
int pivot = arr[k];
while (i <= j)
{
while (arr[i] < pivot)
{
i++;
}
while (arr[j] > pivot)
{
j--;
}
if (i <= j)
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
if (l < j)
{
qiuick_short(arr, l, j);
}
if (i < r)
{
qiuick_short(arr, i, r);
}
}
void main()
{
int arr[] = { 73,108,111,118,101,70,105, 115,104,67,46,99,111,109 };
int i, len=sizeof(arr)/sizeof(arr[0]);
qiuick_short(arr, 0, len - 1);
printf("排序后的结果是:");
for (i = 0; i < len; i++);
{
printf("%d ", arr[i]);
}
}
如有帮助,欢迎采纳哈!