簡單選擇排序
排序思想
從0索引開始,依次和後面的元素進行比較,小的元素往前放,經過一輪比較後,最小的元素就出現在了最小索引處。
package sort;
import java.util.Arrays;
//選擇排序的思想
//每一趟從待排序的數據元素中選擇最小(或最大)的一個元素作爲首元素,直到所有元素排完爲止,簡單選擇排序是不穩定的排序
public class SelectSort {
public static void main(String[] args){
int[] arr = {7,1,3,4,5};
selectSort(arr);
System.out.println(Arrays.toString(arr));
}
//選擇排序
public static void selectSort(int[] arr){
//遍歷所有的數
for(int i=0;i<arr.length-1;i++) {
//把當前遍歷的數和後面所有的數依次進行比較,並記錄下最小的數的下標
for (int j = i+1; j < arr.length; j++) {
//假設arr[i]最小
if (arr[j] < arr[i])
swap(arr,j,i);
}
}
}
//交換數組元素
private static void swap(int[] arr,int a,int b){
arr[a] = arr[a] + arr[b];
arr[b] = arr[a] - arr[b];
arr[a] = arr[a] - arr[b];
}
}