[算法]: 排序-选择排序

def select_sort(lst, reverse=False):
    if reverse:
        for i in range(len(lst)):
            for j in range(i, len(lst)):
                if lst[j] > lst[i]:
                    lst[i], lst[j] = lst[j], lst[i]
    else:
        for i in range(len(lst)):
            for j in range(i, len(lst)):
                if lst[j] < lst[i]:
                    lst[i], lst[j] = lst[j], lst[i]
    return lst

 T(n)=O(n^2)

选择排序不稳定,会交换相同值的顺序,如[5,5,1,3],第一趟后变为[1,5,5,3] ,相同5的顺序变换了

posted @ 2017-07-11 16:33  懒惰的咕噜  阅读(150)  评论(0编辑  收藏  举报