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]

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/stooge-sort-in-python.html

分类: 计算机技术
推荐阅读:
MIPS处理器的基本特性和体系结构 MIPS处理器的基本特性和体系结构包括以下方面:
Linux系统删除目录下的所有空目录 在Linux系统下,你如果想删除某个目录下所有的空目录,那你可以通过这一条命令实现:
Linux终端显示文件中的特定行 在Linux系统下,你如果想在终端显示文件中的指定行,那么你只需这一条命令:
一条Linux命令让你看起来很忙还很酷 在Linux系统下,如果你想让你的终端看起来很忙,或者想在某人面前装酷,那么你一定需要这条命令来实现:
C语言实现矩阵乘法Strassen算法 本文将使用C语言来实现Strassen算法,将两个矩阵相乘;
Python divmod()函数 在Python中,divmod()函数是一个内置函数,用于将两个数字相除并返回商和余数。divmod()函数接受两个参数,分别是被除数和除数,并返回一个包含商和余数的元组。其中,商是两个数相除得到的结果,而余数是两个数相除后的余数部分。