https en wikipedia orgwikishellsortpseudocode pure implementation of shell sort algorithm in python param collection some mutable ordered collection with heterogeneous comparable items inside return the same collection ordered by ascending shellsort0 5 3 2 2 0 2 2 3 5 shellsort shellsort2 5 45 45 5 2 marcin ciura s gap sequence pure implementation of shell sort algorithm in python param collection some mutable ordered collection with heterogeneous comparable items inside return the same collection ordered by ascending shell_sort 0 5 3 2 2 0 2 2 3 5 shell_sort shell_sort 2 5 45 45 5 2 marcin ciura s gap sequence
def shell_sort(collection: list[int]) -> list[int]:
    
    

    gaps = [701, 301, 132, 57, 23, 10, 4, 1]
    for gap in gaps:
        for i in range(gap, len(collection)):
            insert_value = collection[i]
            j = i
            while j >= gap and collection[j - gap] > insert_value:
                collection[j] = collection[j - gap]
                j -= gap
            if j != i:
                collection[j] = insert_value
    return collection


if __name__ == "__main__":
    from doctest import testmod

    testmod()
    user_input = input("Enter numbers separated by a comma:\n").strip()
    unsorted = [int(item) for item in user_input.split(",")]
    print(shell_sort(unsorted))