快速排序出现问题了

xoX0 xoX0 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

int Median3(int *A,int Left,int Right)
{
int Center=(Left+Right)/2;
if(A[Left]>A[Center])
{
swap(A[Left], A[Center]);
}
if (A[Left] > A[Right])
{
swap(A[Left],A[Right]);
}
if (A[Right] < A[Center])
{
swap(A[Right],A[Center]);
}
swap(A[Center], A[Right-1]);
return A[Center];
}

void QuickSort(int *A,int Left,int Right)
{
if(Left<Right)
{
int Pivot=Median3(A,Left,Right);
int i=Left;
int j=Right-1;
for(;;)
{
while(A[++i]<Pivot)
{
}
while(A[--j]>Pivot)
{
}
if(i<j)
{
swap(A[i],A[j]);
}
else
{
break;
}
}
swap(A[i],A[Right-1]);
QuickSort(A,Left,i-1);
QuickSort(A,i+1,Right);
}
}

void Quick_Sort(int *A,int N)
{
QuickSort(A,0,N-1);
}

快速排序这样写,哪里出现问题了,无正常结果
...全文
评论 3
收藏 已收藏
分享
返回顶部
xoX0
C++ 语言 65,214 成员 250,514 内容