希尔排序

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;
        }
    }
}

 

posted @ 2022-03-22 17:33  ainingxiaoguai  阅读(15)  评论(0)    收藏  举报