简单的选择排序介绍及代码实现

简单的选择排序

  • 属于选择排序
  • 两两比较大小,找出极值(极大值或极小值)被放置在固定的位置,这个固定位置一般指的是某一端
  • 结果分为升序和降序排列
  • 降序
  • n个数从左至右,索引从0开始到n-1,两两依次比较,记录大值索引,此轮所有数比较完毕,将大数和索引0数交换,如果大数就是索引1,不交换。第二轮,从1开始比较,找到最大值,将它和索引1位置交换,如果它就在索引1位置则不交换。依次类推,每次左边都会固定下一个大数。
  • 升序和降序相反

简单选择排序代码实现(一)

#简单的选择排序实现
import random
nums = list(range(10))
random.shuffle(nums)
length = len (nums)
for i in range(length):
    maxindex = i
    for j in range(maxindex+1,length):
        if nums[j]>nums[maxindex]:
            maxindex = j
    if maxindex != i:
            nums[i], nums[maxindex] = nums[maxindex], nums[i]
print(nums)

简单选择排序代码实现(二)

  • 优化实现 :
    二元选择排序,同时固定左边最大值和右边最小
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值