一段快速排序的源码。有地方不懂
从视频里看到一段代码,是快速排序(从视频里抄下来的,不会有错吧)void quicksort(int k[],int s,int t)//觉得这里干嘛要用s和t ,应该用left和right更直观
{
int i,j;
if(s<t)
{
i=s;
j=t+1;//为什么是把t+1赋给j,不是应该把t赋给j吗?
while(1)
{
do i++;
while(k[i]<k[s] && i!=t);
do j--;
while(k[j]>k[s] && j!=s);
if(i<j)
swap(k[i],k[j]);
else
break;
}
}
swap(k[s],k[j]);
quicksort(k,s,j-1);
quicksort(k,j+1,t);
}
快速排序不是应该定义一个基准数吗?这段代码里的基准数在哪里?