view sorting/comb_sort.py @ 12:5b67bf33fccc

Added comments. Broke out file read toa function slurp_file().
author Eris Caffee <discordia@eldalin.com>
date Tue, 18 Aug 2015 14:26:12 -0500
parents
children
line source
1 def comb_sort( seq ):
2 gap = len( seq )
3 shrink = 1.3
4 swapped = True
6 while swapped == True or gap > 1:
7 gap = int( gap / shrink )
8 if gap < 1:
9 gap = 1
11 swapped = False
12 for i in range( len(seq) - gap ):
13 if seq[i] > seq[i+gap]:
14 seq[i], seq[i+gap] = seq[i+gap], seq[i]
15 swapped = True
18 if __name__ == "__main__":
19 from random import shuffle
20 testset = range(100)
21 testcase = testset[:]
22 shuffle( testcase )
23 print( testcase )
24 comb_sort( testcase )
25 print( testcase )
26 assert testset == testcase