1. 程式人生 > >JAVA基礎(26)---選擇排序

JAVA基礎(26)---選擇排序

選擇排序

選擇排序對氣泡排序進行了改進,使交換次數減少,但比較次數仍然沒有減少。先從左端開始,找到下標為0 的元素,然後和後面的元素依次比較,如果找到了比下標0小的元素,那麼再使用此元素,再接著依次比較,直到比完成所有的元素,最後把最小的和第0個位置交換。

掃描了所有資料,最後選擇出了最小的資料,這也是為什麼叫選擇排序的原因

第二遍排序將從下表為 1 的元素開始,依此類推,經過 N(N-1)/2 次比較,經過N此資料互動就實現了資料排序。

public class SelectSort{

	public static  void main(String[] args){
		int[] arr = { 3,1,6,2,5};
		
		for(int j = 0 ; j < arr.length - 1 ; j++){//控制迴圈的遍數
			int minIndex = j;
			for(int i = j ; i < arr.length; i++){//控制比較的次數
				if(arr[minIndex] > arr[i]){
					minIndex = i;
				}
			}
			int temp = arr[j];
			arr[j] = arr[minIndex];
			arr[minIndex] = temp;
		}
		
		for(int i = 0 ; i < arr.length;i++){
		System.out.println(arr[i]);
		}
	
	
}