选择排序算法流程图_排序算法篇之选择排序

排序原理

通过每次遍历整个数据集合,第一遍历完,找寻出这组数据中最大的和最后一个位置的数字调换位置,第二次找出第二大的数字和倒数第二位置的数据调换位置,以此类推,直到排完所有的数字。选择排序在理解上是比较容易的,接下来使用一组实际的例子进行验证。

算法思想

测试数据: 3 44 38 5 47 15 36 26 27 2

第一次遍历:

遍历完该组数据后最大的数字为47,将47和末置位的2进行位置的互换。

第一次遍历结果:3 44 38 5 2 15 36 26 27 47

第二次遍历:

44和27进行位置互换。

第二次遍历结果:3 27 38 5 2 15 36 26 44 47

第三次遍历:

38和26进行位置互换。

第三次遍历结果:3 27 26 5 2 15 36 38 44 47

第四次遍历:

36的位置刚好就是自己应该的位置,不用进行调换。

第四次遍历结果:3 27 26 5 2 15 36 38 44 47

第五次遍历:

27和15进行位置互换。

第五次遍历结果:3 15 26 5 2 27 36 38 44 47

第六次遍历:

26和2进行位置互换。

第六次遍历结果:3 15 2 5 26 27 36 38 44 47

第七次遍历:

15和5进行位置互换。

第七次遍历结果:3 5 2 15 26 27 36 38 44 47

第八次遍历:

5和2进行位置互换。

第八次遍历结果: 3 2 5 15 26 27 36 38 44 47

第九次遍历:

3和2进行位置互换。

第九次遍历结果:2 3 5 15 26 27 36 38 44 47

至此,该组数据进行排序完成。接下来使用python语言进行实现完成,代码如下所示:


def maopao_list(list):    #冒泡排序    # n=int(len(list))    # for i in range(n-1):    #     for j in range(i+1,n):    #         if list[i]>list[j]:    #             list[i], list[j] = list[j], list[i]    #选择排序    n=int(len(list))    for i in range(0,n-1):        min_=i        for j in range(i+1,n):            if list[j]

运行结果

78934059c6fddafa0283185072989f89.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值