zoukankan      html  css  js  c++  java
  • Python-选择排序

    '''
    选择排序算法灵巧, 但其速度不是很快, 快速排序是一种更快的排序算法
    
    思想:
    每次从原列表中取出最小的元素, 追加到新列表中, 并将取出的元素从原列表中删除, 直到原列表中没有元素时, 返回新列表
    '''
    
    # 返回列表中的最小元素索引
    def findSmallest(arr):
        smallest = arr[0]  #存储最小的值
        smallest_index = 0  #存储最小元素的索引
        for i in range(1, len(arr)):
            if arr[i] < smallest:
                smallest = arr[i]
                smallest_index = i
        return smallest_index
    
    def selectionSort(arr):
        new_arr = []
        for i in range(len(arr)):  #起始时,arr中有几个元素,就循环几次; 每次取出一个最小的元素
            smallest_index = findSmallest(arr)  #每迭代一次得到最小元素的索引
            new_arr.append(arr.pop(smallest_index))  #从原列表中删除该元素, 并将该元素加入新创建的列表中
        return new_arr
    
    
    # 测试
    test_arr = [3, 1, 7, 5, 15, 10]
    r = selectionSort(test_arr)
    print(r)
  • 相关阅读:
    cookie操作
    css加载动画...
    三目运算符的运用
    遍历对象长度
    2年
    相亲

    股市周期
    功利心
    思考笔记
  • 原文地址:https://www.cnblogs.com/gandoufu/p/9347258.html
Copyright © 2011-2022 走看看