Shell’s Sort

时间:2022-05-15 05:03:53

Solution 1 : (数据结构与算法分析 C++描述 第三版)

template<class T>
void shellSort(vector<T> &v)
{
for(int gap = v.size() / ; gap > ; gap /= ) // 这里gap > 0也可换成gap >= 1
{
for(int i = gap; i < v.size(); ++i)
{
T tmp = v[i];
int j = i;
for(; j >= gap && tmp < v[j - gap]; j -= gap)
v[j] = v[j - gap];
v[j] = tmp;
}
}
}