天天看點

資料結構學習--選擇排序

思路:每次選擇待排序列中關鍵字最小的記錄順序放入已排序列。

步驟:1、從待排序列第一個記錄開始,選出關鍵字最小的記錄,并将其與序列中第一個記錄交換位置;

            2、從待排序列第二個記錄開始,選出 關鍵字最小的記錄,并将其與序列中第二個記錄交換位置;

            3、重複以上步驟共n-1次,其中n為待排序列中有n個記錄。

public class SelectionSort {

	public static void main(String[] args) {
		// TODO 自動生成的方法存根
		int[] seq={11,3,54,4,5,64,34,-9};
		method(seq);
		for(int i=0;i<seq.length;i++)
			System.out.print(seq[i]+" ");
	}
	private static void method(int[] arr){
		int temp_subscript=0,temp;
		for(int i=0;i<arr.length-1;i++){
			temp_subscript=i;
			for(int j=i;j<arr.length-1;j++){//取最小值
				if(arr[temp_subscript]>arr[j+1])
					temp_subscript=j+1;
			}
			if(temp_subscript!=i){//與第i個記錄交換位置
				temp=arr[i];
				arr[i]=arr[temp_subscript];
				arr[temp_subscript]=temp;
			}
		}
	}
}
           

繼續閱讀