1. 程式人生 > >排序整理——簡單選擇排序

排序整理——簡單選擇排序

       簡單選擇排序是指一種排序演算法,在簡單選擇排序過程中,所需移動記錄的次數比較少。最好情況下,即待排序記錄初始狀態就已經是正序排列了,則不需要移動記錄。方法是設所排序序列的記錄個數為n。i取1,2,…,n-1,從所有n-i+1個記錄(Ri,Ri+1,…,Rn)中找出排序碼最小的記錄,與第i個記錄交換。執行n-1趟 後就完成了記錄序列的排序。

(其實就是一句話:遍歷一遍陣列,把最小的數的下標找到直接放到第一位,以此類推)

package myself;

import java.util.Arrays;

public class SelectSort {

	public static void main(String[] args) {
		int a[]= {9,1,2,3,5,2,1,0,5,26,59,16,26,263,78};
		selectSort(a);
		System.out.println(Arrays.toString(a));
	}
	public static void selectSort(int a[]) {
		//遍歷所有的值
		for(int i=0;i<a.length;i++) {
			int minIndex=i;
			//把當前遍歷的數和後面所有的數進行比較,並記錄最小數的下標
			for(int j=i+1;j<a.length;j++) {
				//如果後面比較的數比記錄的數小
				if(a[minIndex]>a[j]) {
					//記錄最小的那個數的下標
					minIndex=j;
				}
			}
			//如果最小的數和當前遍歷的數的下標不一致,說明下標為minIndex的數比當前遍歷的數更小
			if(i!=minIndex) {
				int temp=a[i];
				a[i]=a[minIndex];
				a[minIndex]=temp;
			}
		}
	}

}