美文网首页python学习之路
python实现选择排序​

python实现选择排序​

作者: 仲冬初七 | 来源:发表于2018-09-27 11:47 被阅读2次

python实现选择排序​

​ 假设你有一个因为列表,上面记录你歌曲的播放数量,现在需要对音乐列表进行排序,按照播放数量进行依次排序,并放在一个新的列表中。那么我们怎么用计算机语言实现呢。选择排序即是每次对列表进行查找,并添加到新的列表中。

因此选择排序的运行时间为O(n^2)。虽然速度不是很快,但是很灵活。

"""
选择排序
"""


def findSmallest(arr):
    """
    每次将列表中最小的元素索引返回
    """
    small = arr[0]
    loop = 0

    for i in range(len(arr)):

        if arr[i] < small:

            small = arr[i]
            loop = i

    return loop


def selectionSort(arr):
    """
    每次循环将列表对象传入findSmallest函数中,接收到当前列表值最小的索引
    然后将该值从原列表删除,添加到新列表中,最后返回一个有序的新列表
    """
    newArr = []

    for i in range(len(arr)):

        loop = findSmallest(arr)
        newArr.append(arr.pop(loop))

    return newArr


if __name__ == "__main__":

    arr = [2, 4, 1, 6, 10, 3]

    new_arr = selectionSort(arr)

    print(new_arr)

相关文章

  • 排序算法详细代码实现

    算法分类 算法时间复杂度 选择排序 插入排序 C++实现 Python实现 冒泡排序 Python实现 归并排序 ...

  • python实现选择排序(SelectionSort)

    python实现【选择排序】 算法原理及介绍 选择排序(Selection-sort)是一种简单直观的排序算法。它...

  • 七大排序算法的 Python

    本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插...

  • 八大排序算法的 Python 实现(转)

    本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插...

  • Python实现程序员必备之排序算法汇总

    本文用Python实现了快速排序、插入排序、希尔排序、归并排序、堆排序、选择排序、冒泡排序共7种排序算法。 一、快...

  • python 排序算法

    文章概述 介绍各大常用经典的排序算法和效率,以及python实现常用算法(冒泡排序,选择排序,快速排序,插入排序)...

  • Python 实现七大排序算法

    本文用 Python 实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序。 先整体看一下...

  • 选择排序Python实现

    选择排序分析 输入: 长度为length的无序数组 输出: 长度为length的升序数组 原理从第一个数开始, 遍...

  • python实现选择排序​

    python实现选择排序​ ​ 假设你有一个因为列表,上面记录你歌曲的播放数量,现在需要对音乐列表进行排序,按...

  • 选择排序 Python实现

网友评论

    本文标题:python实现选择排序​

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