算法分析:谢尔排序(缩减增量排序)

来源:互联网 发布:淘宝禁止出售兴奋剂 编辑:程序博客网 时间:2024/04/28 13:18

谢尔排序也叫缩减增量排序。

谢尔排序使用一个序列h1,h2,···,ht,叫做增量序列。有些增量序列对排序效率起到更好的效果。

template <typename Comparable>void shellSort(Vector<Comparable>& a){for (int gap = a.size() / 2; gap > 0; gap /= 2){for (int i = gap; i < a.size(); ++i){Comparable temp = a[i];int j = i;for (; j >= gap && temp < a[j - gap]; j-= gap){a[j] = a[j - gap];}if (j != i){a[j] = temp;}}}}
增量序列的变化会产生不同的效果。

1 0