标签:
核心思想:
扫描所有的元素,得到最小的元素,并将最小的元素与左边第一个元素进行交换。再次扫描除第一位置的所有元素,得到最小的元素,与左边第二个元素进行交换,以此类推
// 选择排序
public void selectSort(){
int min = 0; //找到最小的值及其下标位置
long tmp = 0L;
for(int i = 0; i < elems -1; i++){ //比较elems -1次
min = i;
for(int j = i + 1; j < elems; j++) {
if(arr[j] < arr[min]) {
min = j; //指到最小的下标
}
}
//将最小元素放到当前i位置,将i位置元素放到最小元素的位置,完成交换
tmp = arr[i];
arr[i] = arr[min];
arr[min] = tmp;
}
}
标签:
原文地址:http://www.cnblogs.com/thinkpad/p/4967898.html