java實現選擇排序,java實現排序
1.1. 演算法思想
對比數組中前一個元素跟後一個元素的大小,如果後面的元素比前面的元素小則用一個變數k來記住他的位置,接著第二次比較,前面“後一個元素”現變成了“前一個元素”,繼續跟他的“後一個元素”進行比較如果後面的元素比他要小則用變數k記住它在數組中的位置(下標),等到迴圈結束的時候,我們應該找到了最小的那個數的下標了,然後進行判斷,如果這個元素的下標不是第一個元素的下標,就讓第一個元素跟他交換一下值,這樣就找到整個數組中最小的數了。然後找到數組中第二小的數,讓他跟數組中第二個元素交換一下值,以此類推。
1.2. Java實現
SelectSortTest |
package ch03; public class SelectSortTest { public static void main(String[] args) { int[] srcArr = { 2, 5, 7, 1, 9, 34, 22, 15 }; int[] bubbleSort = selectSort(srcArr); for (int i : bubbleSort) { System.out.println(i); } } /** * * 方法描述:選擇排序演算法 * * @param srcArr * @return */ public static int[] selectSort(int[] srcArr){ int index = 0; //記錄最小值的下標 for(int i = 0; i < srcArr.length - 1; i++){ index = i; for(int j = i; j < srcArr.length;j++){ if(srcArr[j] < srcArr[index]){ index = j; } } int temp = srcArr[i]; srcArr[i] = srcArr[index]; srcArr[index] = temp; } return srcArr; } }
|