選擇排序

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];
			}
		}
	}
}
相關文章
相關標籤/搜索