Python选择排序

[复制链接]
sosoyoyo 发表于 2017-12-31 07:21:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到+ t0 B- i/ p$ k
排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所! }2 _& A* u: [1 i+ s
Python实现1 u- Y8 R' `/ R3 L
def SelectSort(lists):1 r. Y4 X0 E: w1 v8 g6 @
count=len(lists) for i in range(0,count): for j in range(i+1, count): if lists > lists[j]:
5 S5 c' `8 c6 S" |lists , lists[j] = lists[j] , lists0 q8 a; U! X+ @- ?
print("===========")# ?  K+ ?4 k7 e) c7 u8 t
print(i,j)
7 l. u) g6 k4 W' iprint(lists)if __name__ == "__main__":% g0 [% |. g4 @6 p6 @( o5 v
lists = [3, 5, 4, 2, 1, 6]
) M( {( e; N% a2 Bprint(lists)3 I8 A; o) f' b; w$ `% r
SelectSort(lists)1234567891011121314: ^: V2 h5 G% f; g7 F% h
运行结果如下所示
5 O/ K- O1 e) J' G5 y$ U  D
4 _; F- ]3 y& \" _

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

精彩评论4

hqingxi 发表于 2017-12-31 07:21:25 | 显示全部楼层
for语句里面的i,j啥意思,小白求问
回复

使用道具 举报

assdsss 发表于 2017-12-31 07:42:02 | 显示全部楼层
sort不是可以直接排序吗?
回复

使用道具 举报

qXwqtnuK 发表于 2017-12-31 08:01:25 | 显示全部楼层
看起来有点像冒泡排序
回复

使用道具 举报

星星糖SUNG 发表于 2017-12-31 08:21:05 | 显示全部楼层
一看思路也可用递归
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
推荐阅读更多+
阅读排行更多+
用心服务创业者
0851-88611148
周一至周五 9:00-18:00
意见反馈:admin@0851life.com

扫一扫关注我们

Powered by 童码少儿编程 X3.4© 2001-2013 0851life Inc.|网站地图