finished shell_sort