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

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

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

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

 

代码示例如下:

 1 #定义选择排序方法,传入一个alist列表
 2 def selection_sort(alist):
 3     #第一层for循环表示用来遍历要整体执行的次数
 4     for i in range(len(alist)-1):
 5         #将alist里面的第一个元素设置为最大元素,用的是索引来标记
 6         max_index=i
 7         #第二层for循环表示是进行alist列表中的数据两两比较
 8         for j in range(i+1,len(alist)):
 9             #第一循环判断alist[1]>alist[0]时
10             if(alist[j]>alist[max_index]):
11                 #就将大值的索引值赋值给max_index
12                 max_index=j
13         #将最大值与alist列表里面的元素进行逐个互换排序
14         alist[max_index],alist[i]=alist[i],alist[max_index]
15     return alist #返回最后排序后的alist列表
16  
17 if __name__ == '__main__':
18     alist=[449,333,441,555,666,777,888,999,332,222,111]
19     print("the init of list is:",alist)
20     print("the sorted of list is:",selection_sort(alist))

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

  • 冒泡排序

  • 选择排序

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

 

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

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

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

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

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

上一篇:冒泡排序


下一篇:数据结构与算法——搜索(二分法)