您的位置:首页 > 其它

希尔排序(缩小增量排序)

2010-04-15 16:35 274 查看
template <typename T>
void ShellSort(T* A,int n)
{
int i = 0,j = 0,increament = 0;
T tmp;
for (increament = n/2;increament >= 1;increament /= 2)
{
for (i = increament;i < n;i++)
{
tmp = a[i];
for (j = i;j >= increament;j -= increament)
{
if (a[j-increament] > tmp]  a[j] = a[j-increament];
else break;
}
a[j] = tmp;
}
}
}


 

此种增量情况下,算法复杂度为Θ(n*n)

 

当增量为1,3,7,...,2k-1时,算法复杂度为Θ(n3/2)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法