美文网首页
基础练习——选择排序

基础练习——选择排序

作者: 赤色要塞满了 | 来源:发表于2019-04-06 19:11 被阅读0次

每轮从数组的待排序部分里选一个最小的,放到首位。

def select_sort(lst):
    length = len(lst)
    if length <= 1:
        return lst

    for i in range(0, length - 1):
        min_idx = i
        for j in range(i + 1, length):              # 选出最小的
            if lst[j] < lst[min_idx]:
                min_idx = j
        lst[i], lst[min_idx] = lst[min_idx], lst[i] # 放到首位

    return lst

选择排序是不稳定排序,简单说就是,相等的元素可能会发生顺序变化。

相关文章

  • 基础练习——选择排序

    每轮从数组的待排序部分里选一个最小的,放到首位。 选择排序是不稳定排序,简单说就是,相等的元素可能会发生顺序变化。

  • 开发者应该掌握的几种排序算法

    该篇文章主要介绍了算法基础以及几种常见的排序算法:选择排序、插入排序、冒泡排序、快速排序、堆排序。 一、算法基础 ...

  • Java常见排序基础 - 中

    在Java常见排序基础 - 上中主要介绍了冒泡排序、选择排序、插入排序三种基础排序,本篇文章主要介绍的是 快速排序...

  • 算法-排序

    基础类: 提供辅助方法和待排序的数组 选择排序

  • Pandas 数据处理(二) ——条件筛选与排序!

    Pandas 基础练习(二) —— 数据条件选择与排序! 上一篇文章介绍了 Pandas 的基本函数的使用方法,这...

  • 排序算法系列(4)——直接插入排序

    直接选择排序是选择排序中最基础的一部分在此拿出来讲是为了为后面的折半选择排序和希尔排序(缩小增量排序)做好铺垫,打...

  • Rust语言编程实例100题-045

    Rust语言编程实例100题-045 题目:在第39题和42题已经练习过选择排序,插入排序,冒泡排序。今天再来练习...

  • 排序算法总结

    基础排序算法 基础排序算法相关接口和实现类 接口: 实现类(后续排序的父类): 1.选择排序 两层循环:内层循环进...

  • 常见排序算法

    1 前言 2 排序基础2.1 选择排序2.2 插入排序 3 高级排序算法3.1 归并排序3.1.1 插入排序与归并...

  • 基础排序算法总结

    排序算法分为内部排序和外部排序,而我们经常说的基础排序算法,都是内部排序算法。包括冒泡排序,选择排序,插入排序,快...

网友评论

      本文标题:基础练习——选择排序

      本文链接:https://www.haomeiwen.com/subject/bxqdiqtx.html