JAVA基礎(26)---選擇排序
阿新 • • 發佈:2018-11-11
選擇排序
選擇排序對氣泡排序進行了改進,使交換次數減少,但比較次數仍然沒有減少。先從左端開始,找到下標為0 的元素,然後和後面的元素依次比較,如果找到了比下標0小的元素,那麼再使用此元素,再接著依次比較,直到比完成所有的元素,最後把最小的和第0個位置交換。
掃描了所有資料,最後選擇出了最小的資料,這也是為什麼叫選擇排序的原因
第二遍排序將從下表為 1 的元素開始,依此類推,經過 N(N-1)/2 次比較,經過N此資料互動就實現了資料排序。
public class SelectSort{ public static void main(String[] args){ int[] arr = { 3,1,6,2,5}; for(int j = 0 ; j < arr.length - 1 ; j++){//控制迴圈的遍數 int minIndex = j; for(int i = j ; i < arr.length; i++){//控制比較的次數 if(arr[minIndex] > arr[i]){ minIndex = i; } } int temp = arr[j]; arr[j] = arr[minIndex]; arr[minIndex] = temp; } for(int i = 0 ; i < arr.length;i++){ System.out.println(arr[i]); } }