http://www.verejava.com/?id=16992690199232
/*
用選擇排序:
思路:
1. 將數組中剩下的沒有排序的元素中選出最小的一個, 插入已經排序的后面
*/
public class SelectSort {
public static void sort(int[] arrays){
int minIndex;//保存選擇最小值的索引
for (int i = 0; i < arrays.length-1; i++) {
minIndex=i;
int minValue=arrays[minIndex];//保存每次循環最小值為循環的第一元素的值
for (int j = i; j < arrays.length-1; j++) {
//與每個元素比較如果小於最小值則交換值並且保存交換值的索引為最小值索引
if(minValue>arrays[j+1]){
minValue=arrays[j+1];
minIndex=j+1;
}
}
if(i!=minIndex)//判斷如果最小值索引改變則把當前最小值與以排序的最后一個元素交換
{
int temp=arrays[i];
arrays[i]=arrays[minIndex];
arrays[minIndex]=temp;
}
}
}
public static void main(String[] args) {
int[] scores={90,70,50,80,60,85};
sort(scores);
for(int score:scores){
System.out.print(score+",");
}
}
}