Python 经典算法之 “ 选择排序 ”

选择排序是什么
选择排序(Selection sort)是一种简单直观的排序算法

它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,所以称为:选择排序。

今天的分享将会以待排序的数据元素中选出最大的元素作为示例来分享给大家。

 

代码示例如下

#定义选择排序方法,传入一个alist列表
def selection_sort(alist):
    #第一层for循环表示用来遍历要整体执行的次数
    for i in range(len(alist)-1):
        #将alist里面的第一个元素设置为最大元素,用的是索引来标记
        max_index=i
        #第二层for循环表示是进行alist列表中的数据两两比较
        for j in range(i+1,len(alist)):
            #第一循环判断alist[1]>alist[0]时
            if(alist[j]>alist[max_index]):
                #就将大值的索引值赋值给max_index
                max_index=j
        #将最大值与alist列表里面的元素进行逐个互换排序
        alist[max_index],alist[i]=alist[i],alist[max_index]
    return alist #返回最后排序后的alist列表

if __name__ == '__main__':
    alist=[449,333,441,555,666,777,888,999,332,222,111]
    print("the init of list is:",alist)
    print("the sorted of list is:",selection_sort(alist))

经常使用到的经典排序算法

  • 冒泡排序

  • 选择排序

结束语:我们在代码上要理解它的调用逻辑及理念,用debug去一步步调试代码执行的轨迹,对我们去理解代码的实现有很好的帮助。

欢迎关注【无量测试之道】公众号,回复【领取资源】,
Python编程学习资源干货、
Python+Appium框架APP的UI自动化、
Python+Selenium框架Web的UI自动化、
Python+Unittest框架API自动化、

资源和代码 免费送啦~
文章下方有公众号二维码,可直接微信扫一扫关注即可。

备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

 添加关注,让我们一起共同成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wu_Candy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值