算法 Algorithm

2.1.2 选择排序 Selection Sort

2018-12-24  本文已影响6人  RoyTien

数据移动是最少的

A = [70, 90, 31, 37, 10, 1, 48, 60, 33, 80]

def select_sort(my_list):
    for i in range(len(my_list) - 1):
        min_item = my_list[i]

        index = i

        for j in range(i+1, len(my_list)):
            if min_item > my_list[j]:
                min_item = my_list[j]
                index = j

        my_list[index], my_list[i] = my_list[i], min_item
    return my_list

print(select_sort(A))
public class Selection{
    public static void sort(Comparable[] a){
        int N = a.length;
        for(int i = 0, i < N; i++){
            int min = i;
            for(int j = i+1; j < N; j++){
                if (less(a[j], a[min])) min = j;
            }
            exch(a, i, min);
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读