简单选择排序
排序思想
从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];
}
}