1. 程式人生 > >Java 數組 之 一維數組 選擇排序算法

Java 數組 之 一維數組 選擇排序算法

core 排序 stat clas 選擇排序 HR pub ring !=

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+",");
        }
    }

}

http://www.verejava.com/?id=16992690199232

Java 數組 之 一維數組 選擇排序算法