快排作为一种不稳定的排序方法,基于了分治的思想,其主要过程是:以一个种子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);
}