삽입 정렬은 어느정도 정렬된 리스트에서 매우 빠르다. 이것에서 착안된 것이 쉘정렬이다.
-> 수행시간은 간격에 따라 달라지며 입력이 크지 않을 때 성능이 Good
def shell_sort(inp):
h = len(inp)//2
while h > 0:
for i in range(h, len(inp):
t = inp[i]
j = i
while( j >= h and inp[i-h] > t: #삽입정렬
inp[j] = inp[j-h]
j -= h
inp[j] = t
h = h//2