public class Select_Sort { public static void main(String[] args) { Select_Sort sort = new Select_Sort(); int []a = {1,34,25,74,-3,23,42,-12}; sort.select_sort(a); for(int i : a){ System.out.print(" "+i); } } //直接選擇排序與冒泡排序描述相反 public void select_sort(int a[]){ int i,j,min; for(i=0;i<a.length;i++){ min = i;//假定下標爲id 元素最小,a[min]存儲最小值的元素 for(j=i+1;j<a.length;j++){ if(a[min]>a[j]){ min = j;//最小下標指向比假定值小的元素下標 } } if(min != i){//若是最小值並非當前排序數組的第一個,則替換; a[min] = a[i]+a[min]; a[i] = a[min]-a[i]; a[min] = a[min] -a[i]; } } } }