Python 经典算法 :选择排序

选择排序是什么

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

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

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

代码示例如下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#定义选择排序方法,传入一个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去一步步调试代码执行的轨迹,对我们去理解代码的实现有很好的帮助。

posted @   I'm_江河湖海  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示