1. 程式人生 > >Java排序之直接選擇排序

Java排序之直接選擇排序

循環 oid 之間 min static cts ava void ont

public class SelectSort {
    
	 public static void selectSort(int [] a){
		 int min;
		 int temp;
		 
		 if(a==null || a.length<=0){
			 return;
		 }
		 
		 for(int i=0;i<a.length;i++){//外循環控制比較的次數,每一次找出一個最小值並交換
			 min=i;//將當前下標定義為最小值下標
			 for(int j=i+1;j<a.length;j++){//內循環控制當前這一趟數據之間的比較找到最小值
				 if(a[j]<a[min]){//假設這一趟中有一個數據小於我們定義的最小值則將這個數據的下標賦給min,事實上min就是一個flag
					 min=j;
				 }
				 
			 }
		   if(min!=i){//若這一趟中的min發生了改變則說明這一趟中有數據比我們定義的min要小所以將這個數據跟我們定義的a[min]交換
				 temp=a[min];
				 a[min]=a[i];
				 a[i]=temp;
				
		  }
		}
	  }
    }

Java排序之直接選擇排序