用python语言实现选择排序

选择排序:

   找出序列中最小的放在最前面,再从后面的找最小的放在第二个位置,再从后的序列找出最小的放在第三个,相当于从原序列中找出最小的放在最前面,成一个新的序列,每找出一次最小值新序列多一个值,原序列少一个值。直至结束。

代码思想:

   以第一个开始,参数i等于第一个数 ,与后面相比,谁比他小,i= 比他小的数,从头至尾比较一遍,找出最小的,放在最前面,再次执行此循环。

def select_sort(alist):
    n = len(alist)
    for j in range(n-1):
        min_index = j
        for i in range(j+1,n):
            if alist[min_index] > alist[i]:
                min_index = i
        alist[j],alist[min_index] = alist[min_index],alist[j]


if __name__ =="__main__":
    li = [54,26,93,17,77,31,44,55,20]
    print(li)
    select_sort(li)
    print(li)

选择排序的最优时间复杂度为O(n的2次方)

最坏时间复杂度也为O(n的2次方)

猜你喜欢

转载自blog.csdn.net/wangshuai33/article/details/84404847