额,大一暑假写的快速排序,还是比较干净的,翻出来存起来以后备用。
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);
}
本文提供了一个简洁清晰的大一暑假期间编写的快速排序算法实现。该算法通过递归方式完成数组的排序,具体步骤包括选取基准元素、分区操作及对子数组进行排序。
1592

被折叠的 条评论
为什么被折叠?



