Selection sort 选择排序

1、简单直观

2、数组中,找到最小的值,和第一个元素交换(如果第一个元素就是最小元素那么就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。依次类推。

下面来看一下伪代码

selectionSort(mylist){

for(i=0;i<len(mylist);i++){

min=i;

for(j=i+1;j<len(mylist);j++){

if(mylist[min]>mylist[j]){

//如果mylist[min]的值大于mylist[j]的值 ,则交换min和j

min=j

}

}

//内循环完成,交换

temp = mylist[i];

mylist[i] = mylist[min];

mylist[min] = temp

}

}

#!/usr/bin/envpython#-*-coding:utf-8-*-defselection(mylist):foriinrange(0,len(mylist)):min=iforjinrange(i+1,len(mylist)):ifmylist[j]<mylist[min]:min=jmylist[i],mylist[min]=mylist[min],mylist[i]returnmylista=[10,2,3,1,23,14,25,68,72,81,33,56,98,102,77,56,7,4,5]print(selection(a))