def shell_sort_poly12(l, start, end, hook_func):
    '''
    @brief  这个版本有缺陷,因为k_list有限,元素不能过多
    '''
    k_list = shell_step.get_shell_steps(end - start + 1,
                                        shell_step.shell_step_poly12)
    return shell_sort_custom(l, start, end, k_list, hook_func)
def shell_sort_geo10(l, start, end, hook_func):
    k_list = shell_step.get_shell_steps(end - start + 1,
                                        shell_step.shell_step_geo_inc,
                                        t=10)
    return shell_sort_custom(l, start, end, k_list, hook_func)
def shell_sort_poly2(l, start, end, hook_func):
    k_list = shell_step.get_shell_steps(end - start + 1,
                                        shell_step.shell_step_poly2)
    return shell_sort_custom(l, start, end, k_list, hook_func)