排序整理——簡單選擇排序
阿新 • • 發佈:2018-12-15
簡單選擇排序是指一種排序演算法,在簡單選擇排序過程中,所需移動記錄的次數比較少。最好情況下,即待排序記錄初始狀態就已經是正序排列了,則不需要移動記錄。方法是設所排序序列的記錄個數為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; } } } }