您的位置:首页 > 其它

排序系列之快速排序

2014-01-20 12:43 239 查看
快排作为一种不稳定的排序方法,基于了分治的思想,其主要过程是:以一个种子seed为基点,把原序列分割为两部分的子序列,进而以分治的思想对子序列进行操作。

void quickSort(int array[],int start,int end)
{
if(start>end)
return;
int seed=array[start];
int i=start;
int j=end;
bool flag=0;
for(;;)
{
if(i==j)
{
array[i]=seed;
break;
}
if(flag==0)
{
if(array[j]<seed)
{
array[i]=array[j];
i++;
flag=1;
continue;
}
else
j--;
}
if(flag==1)
{
if(array[i]>seed)
{
array[j]=array[i];
j--;
flag=0;
continue;
}
else
i++;
}

}
quickSort(array,start,i-1);
quickSort(array,i+1,end);

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