当前位置 > it书童 > 算法 > 正文
推荐小册
java高效编程
怎样更高效地用 java 编程

juc并发工具库
java并发编程工具库

设计模式
设计模式

jvm调优
jvm调优

rabbitmq实战
rabbitmq实战

redis实战
redis实战

Keepavlied高可用集群
Keepavlied高可用集群

nginx入门到实战
nginx入门到实战

java调试
java调试中遇到的各种坑

java输入输出流
java输入输出流

选择排序

算法 it书童 2019-10-05 14:52:52 0赞 0踩 705阅读 0评论

选择排序:假定第一个值是最小值,后续的值与之对比,如果小于此值,便将后续值作为最小值

def findSmallest(arr):
    # 假定第一个值为最小值
    smallest = arr[0]
    smallestIndex = 0
    for i in range(1, len(arr)):
        # 将其他值与第二个值比较,如果后续的值比假定的最小值还要小,即将其设为最小值
        if arr[i] < smallest: 
            smallest = arr[i]
            smallestIndex = i
    return smallestIndex


def selectionSort(arr):
    newArr = []
    for i in range(0, len(arr)):
        smallest = findSmallest(arr)
        newArr.append(arr.pop(smallest)) # 将得到的最小值弹出
    return newArr

result = selectionSort([5, 3, 6, 2, 10])

print(result)
关于我
一个文科出身的程序员,追求做个有趣的人,传播有价值的知识,微信公众号主要分享读书思考心得,不会有代码类文章,非程序员的同学请放心订阅
转载须注明出处:https://www.itshutong.com/articles/328/selection-sort
相关推荐