1 #-*- coding: UTF-8 -*-
2 import numpy as np
3
4 def ShellSort(a):
5 gap = a.size / 2
6 while gap >= 1:
7 for i in xrange(gap,a.size, gap):
8 for j in xrange(i,0, -gap):
9 if a[j-gap] > a[j]:
10 a[j-gap] , a[j] = a[j], a[j-gap]
11 else:
12 break
13 gap /= 2
14
15 if __name__ == '__main__':
16 a = np.random.randint(0, 10, size = 10)
17 print "Before sorting..."
18 print "---------------------------------------------------------------"
19 print a
20 print "---------------------------------------------------------------"
21 ShellSort(a)
22 print "After sorting..."
23 print "---------------------------------------------------------------"
24 print a
25 print "---------------------------------------------------------------"