shellsort.h
来自「有各种排序算法」· C头文件 代码 · 共 18 行
H
18 行
#include"DataList.h"
template<class T>
void ShellSort (dataList<T>& L,const int left,const int right)
{
int i, j, gap = right-left+1; //增量运算前的初值
Element<T> temp;
do {
gap = gap/3+1; //求下一增量值
for (i = left+gap; i <= right; i++)
if (L[i] < L[i-gap]) { //逆序,间隔gap
temp = L[i]; j = i-gap;
do {
L[j+gap] = L[j]; j = j-gap;
} while (j >= left && temp < L[j]);
L[j+gap] = temp; //将vector[i]回送
}
} while (gap > 1);
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?