算法名称  最差时间复杂度  平均时间复杂度  最优时间复杂度  空间复杂度     

选择排序    O(N^2)     O(N^2)      O(N)            O(1) 

选择排序也会把数组分为已排序区和未排序区。但是与插入排序不同的是,它每次找到未排序区的最小值,与未排序区的首个元素交换,这样就变成了已排序区的末尾元素了。

插入排序是一种不稳定算法,相同元素,排序后,相对位置可能发生改变。

def selection_sort(data):
    for i in range(len(data)):
        for j in range(i+1,len(data)):
            if data[i]>data[j]:
                data[i],data[j]=data[j],data[i]
        print(data)
    return data

if __name__=='__main__':
    selection_sort([10,8,2,5,88,69,9,3,7,])