希尔排序
void shellSort(vector<int> &arr) { int i,j,gap,key; for (gap = arr.size() / 2; gap > 0; gap /= 2) { for (i = gap; i < arr.size(); i++) { key = arr[i]; for ( j = i; j >=gap && key < arr[j-gap]; j -= gap) { arr[j] = arr[j-gap]; } arr[j] = key; } } }