Python 选择排序两个for循环

1.code: 选择排序的表示方式:

def select_(list1):
    for i in range(len(list1)-1):
        for j in range(i+1,len(list1)-1):
            if list1[i] > list1[j]:
                list1[i],list1[j] = list1[j],list1[i]
    return list1
list1 = [20, 40, 30, 50, 34, 10]
print(select_(list1))

2.描述排序过程

2.1 核心内容:

排序的列表 [20, 40, 30, 50, 34, 10]

第一步:

比较
==> 将 20 单独拿出来,当作独立元素,和后面的独立元素进行比较;

  • [20] VS [40, 30, 50, 34, 10]

第二步:

交换
==> 比较发现 1020 小,将两者对换位置。

  • 新列表:[10,40, 30, 50, 34, 20]
2.2 循环遍历交换核心内容

第三步:

把排好序的列表当作新的列表 【10】,继续遍历剩下的列表 [40, 30, 50, 34, 20]

第四步:

把【40】和【30,50,34,20】中的每一个元素比较,如果第一个元素小于【40】,那么交换位置。
得到【30】【40,50, 34, 20】
接着把【30】和【40,50,34,20】比较,得到,【20】【40,50,34,30】
拼接之前的得到:[10,20]

第五步:

依次遍历上述环节。

第六步:完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值