python 选择排序

选择排序算法步骤:
1:在未排序序列中找到最大(小)元素,放在序列的起始位置。
2:从剩余未排序序列中继续寻找最大(小)元素,存在已排序序列的末尾。
3:重复步骤2,直到所有的元素均已排序。

V1.0版本:

   先从最简单的2个数字比较开始:list=[2,3] 

   第一个数字2和第二个数字3进行对比,如果第一个数字小于第二个数字,两个数字交换位置,大的放前面

  python 相对应的代码:

# V1.0版本:2,3 从大到小排序 len(list)-1
list=[2,3]
print("选择排序之前列表元素:",list)
for i in range(0,len(list)-1):
    if(list[i]<list[i+1]):
        list[i],list[i+1]=list[i+1],list[i]
    print("选择排序之后列表元素:",list)

 打印结果:

 选择排序之前列表元素: [2, 3]
 选择排序之后列表元素: [3, 2]

V2.0版本  开始3位数字或者更多数字的比较:list=[4,8,9,1,5,7]

  第一步:list[0]=4,4<8,交换位置。list[0]=8,8<9,交换位置。list[0]=9,9和1,5,7 比较,不交换位置.当前的list=[9,4,8,1,5,7]

  第二步:list[1]=4,4<8,交换位置。list[1]=8,8和1,5,7 比较,不交换位置.当前的list=[9,8,4,1,5,7]

  第三步:list[2]=4,4<1,不交换位置。list[2]=4,4<5,交换位置。list[2]=5,5<7,交换位置,list[2]=7.当前的list=[9,8,7,1,4,5]

  第四步:list[3]=1,1<4,交换位置。list[3]=4,4<5,交换位置。list[3]=5。当前的list=[9,8,7,5,1,4]

  第五步:list[4]=1,1<4,交换位置。list[4]=4。当前的list=[9,8,7,5,4,1]

python 实现代码:

# V2.0版本: 从大到小排序
list=[4,8,9,1,5,7]
print("选择排序之前列表元素:",list)
for j in range(0,len(list)-1):

    for i in range(j+1,len(list)):
        if(list[j]<list[i]):
            list[j],list[i]=list[i],list[j]
    print("第"+str(j+1)+"选择排序之后列表元素:",list)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值