python实现选择排序​

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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,039评论 3 119
  • 吾心愿为父母令,自己作诗众人醒。 看破天下如做帽,一切只想忠情晶。
    乱花渐欲迷人眼阅读 1,079评论 0 0
  • ——高俊文集《拥有》序言 《拥有》我认真地拜读了,并且总结了三个“最”。 第一个“最”,我最喜欢该书中...
    秦占勇阅读 1,501评论 0 1
  • 作者:珑夫心理--陈刚,姜桂芹 ----家道建设系列作品 在中国传统中,“家庭”开始于“结婚”这样一种仪式...
    35d9e7370171阅读 1,885评论 0 0
  • 编译命令:<%@%> page、include、taglib 动作命令:<%jsp:xxx %> include ...
    Yoshikit阅读 1,391评论 0 0