额,大一暑假写的快速排序,还是比较干净的,翻出来存起来以后备用。
void fastsort(int l,int r)
{
if(l>=r)return;
int pos=l;
int i=l;
int j=r;
while(i<j)
{
while(i<j&&e[j]>=e[pos])j--;//必须是i<j不能是i<=j
while(i<j&&e[i]<=e[pos])i++;
if(i<j)
swap(e[i],e[j]);
}
swap(e[i],e[pos]);
fastsort(l,i-1);
fastsort(i+1,r);
}