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);
}
}
}