选择排序

选择排序是一种比较简单和直观的排序算法,就是将无序队列最小的元素挑选出来然后和无序队列的头部元素进行替换,最终得到一个有序队列。

选择排序的最优时间复杂度为O(n**2),最坏时间复杂度为O(n**2),

def chociesort(alist):
    n=len(alist)
    if n<=1:
        return alist
    # 外层循环范围
    for i in range(n):
        # 找到无序队列的第一个元素的下标
        index=i
        # 内层循环范围
        for j in range(i+1,n):
            if alist[j]<alist[index]:
                # 确定最小元素的下标
                index=j
            if index!=i:
                alist[i],alist[index]=alist[index],alist[i]
    return alist
if __name__ == '__main__':
    alist=[2,3,5,12,53,12,0]
    print(chociesort(alist))
                

 

posted @ 2019-01-06 17:55  名字到底要多长  阅读(175)  评论(0编辑  收藏  举报