算法--懒人排序

 1 def shellSort(arr): 
 2   
 3     n = len(arr)
 4     gap = int(n/2)
 5   
 6     while gap > 0: 
 7   
 8         for i in range(gap,n): 
 9   
10             temp = arr[i] 
11             j = i 
12             while  j >= gap and arr[j-gap] >temp: 
13                 arr[j] = arr[j-gap] 
14                 j -= gap 
15             arr[j] = temp 
16         gap = int(gap/2)
17   
18 arr = [ 12, 34, 54, 2, 3] 
19   
20 n = len(arr) 
21 print ("排序前:") 
22 for i in range(n): 
23     print(arr[i]), 
24   
25 shellSort(arr) 
26   
27 print ("\n排序后:") 
28 for i in range(n): 
29     print(arr[i]),

 

posted @ 2020-02-18 17:12  进阶的淑琴  阅读(135)  评论(0)    收藏  举报