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

分类: 计算机技术
推荐阅读:
Rust compile_error宏的用法和示例 compile_error是Rust中的一个宏,它用于在编译时生成一个错误信息;这在编写宏或者进行一些静态检查时非常有用;
Python 列表(List)的详细用法 列表(list)按特定顺序存储一系列项目。你可以使用索引或在循环中访问项。本问讲述了Python中列表的增加、修改、删除、遍历、复制等基本操作。
Python input()函数 在Python中,input()是一个内置函数,该函数从输入中读取一行,将其转换成字符串(不包括换行符)并返回;
Pyside6.QtWidgets.QWidget详细教程 QWidget从窗口系统接收鼠标、键盘和其它事件,并在屏幕上绘制自己;通常它是矩形的,拥有一个标题栏和一个空白框架;
SQL基本语法 SQL遵循一些独特的规则,基本语法如下:SQL不区分大小写。但我们通常将SQL关键字以大写形式编写,以便于区分;
提示Permission denied的解决方法 通常,提示Permission denied表示你的某个操作权限不够;在Linux系统中,权限分为读权限、写权限和可执行权限,当你所在的用户组没有相关权限时,则会提示Permission denied;