您的位置:首页 > 其它

快速排序

2015-09-20 16:26 183 查看
            快速排序较冒泡排序而言,递归与两个for循环相比,降低了时间复杂度,速度也更快,是有效常用的一种排序方法。

#include <stdio.h>
#include <stdlib.h>
#define N 10
void fast_sort(int a[],int beg,int end)
{
int l=beg,r=end;
int t=a[beg];
if(beg<end)
{
while(l<r)
{
while((a[r]>=t)&&(l<r))
{
r--;
}
a[l]=a[r];
while((a[l]<=t)&&(l<r))
{
l++;
}
a[r]=a[l];
}
a[l]=t;
fast_sort(a,beg,l-1);
fast_sort(a,r+1,end);
}
else
return ;
}
int main()
{
int a
,i;
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
fast_sort(a,0,N-1);
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: