开始用冒泡算法,最后一个测试点过不去
用快速排序,最后一个测试点过不去,数据太多数相同;数据特殊导致时间复杂度退化。
用希尔排序,ac
void shell_sort(ElementType A[],int N);
ElementType Median(ElementType A[],int N)
{
if(N==1)
return A[0];
shell_sort(A,N);
return A[N/2];
}
void shell_sort(ElementType A[],int N)
{
int i,j,gap;
for(gap=N/2;gap>0;gap/=2)
for(i=gap;i<N;i++)
for(j=i-gap;j>=0&&A[j]>A[j+gap];j-=gap)
{
ElementType temp=A[j];
A[j]=A[j+gap];
A[j+gap]=temp;
}
}
本文探讨了使用不同排序算法解决问题的过程,包括冒泡排序、快速排序等,并最终采用希尔排序成功通过测试点。文章详细介绍了希尔排序的实现方式及Median函数的应用。

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



