Python实现臭皮匠算法(Stooge Sort)
臭皮匠排序(Stooge Sort)是一种递归排序算法,是一种比较低效率的排序算法;
使用Python实现臭皮匠排序
def stoogesort(arr, l, h):
if l >= h : return
if arr[l] > arr[h]:
t = arr[l]
arr[l] = arr[h]
arr[h] = t
if h-l+1 > 2:
t = int((h-l+1)/3)
stoogesort(arr, l, h-t)
stoogesort(arr, l+t, h)
stoogesort(arr, l, h-t)
arr = [ 11 , 15 , 2 , 11 , 9 , 21 ]
print('排序前:',arr)
stoogesort(arr, 0, len(arr)-1)
print('排序后:',arr)
输出:
排序前: [11, 15, 2, 11, 9, 21] 排序后: [2, 9, 11, 11, 15, 21]