diff --git a/ShellSort.py b/ShellSort.py new file mode 100644 index 0000000..e6e1eec --- /dev/null +++ b/ShellSort.py @@ -0,0 +1,24 @@ +# Shell sort in python + + +def shellSort(array, n): + + # Rearrange elements at each n/2, n/4, n/8, ... intervals + interval = n // 2 + while interval > 0: + for i in range(interval, n): + temp = array[i] + j = i + while j >= interval and array[j - interval] > temp: + array[j] = array[j - interval] + j -= interval + + array[j] = temp + interval //= 2 + + +data = [9, 8, 3, 7, 5, 6, 4, 1] +size = len(data) +shellSort(data, size) +print('Sorted Array in Ascending Order:') +print(data)