1. 程式人生 > >選擇排序演算法詳解

選擇排序演算法詳解

基本思想:


在要排序的一組數中,選出最小的一個數與第一個位置的數交換;然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後一個數比較為止。

 

 

實現:

	public static void selectSort(int[] array){		
		int temp = 0;//臨時變數,用於交換陣列的兩個元素
		for(int j=0;j<array.length-1;j++){
			int minIdx = j;//存放某一輪中陣列的最小元素下標
			for(int i=j+1;i<array.length;i++){
				if(array[i] < array[minIdx]){
				  minIdx = i;//更新最小下標
				}
			}
			temp = array[j];//把找到的最小元素與待填位置的元素交換
			array[j] = array[minIdx];
			array[minIdx] = temp;			
			//System.out.println(minIdx);
	  }	  
	}