关于快速排序C语言算法
发布网友
发布时间:2022-04-29 20:37
我来回答
共1个回答
热心网友
时间:2022-05-22 02:12
//一点小问题而已,已为你改好
#include <stdio.h>
void Quick_sort (int s[], int l, int r )
{
if(l<r)
{
int i=l,j=r,x=s[l];
while(i<j)
{
while(i<j&&s[j]>=x)
{j--;}//从右向左找第一个小于x的数
if(i<j)
{s[i++]=s[j];}
while(i<j&&s[i]<=x)
{i++;}//从左到右找第一个大于等于x的数
if(i<j)
{s[j--]=s[i];}
}
s[i]=x;
Quick_sort(s,l,i-1);//递归
Quick_sort(s,i+1,r);
}
}
int main()
{
int arr[7] = { 1,9,7,6,5,35,15 };
int i;
printf("之前的数组:");
for (i = 0; i < 7; i++) printf("%3d", arr[i]);
printf("\n");
Quick_sort(arr, 0, 6);
printf("排序之后的数组:");
for (i = 0; i < 7; i++) printf("%3d", arr[i]);
printf("\n");
return 0;
}追问可以运行了啊,话说我错在哪里啊???
追答自己对比着看一下,不就知道了。