基本思想
选择排序的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。
代码实现
package sort; import java.util.Arrays; public class SelectSort { public static void main(String[] args) { int arr[]={20,3,9,-1,10}; selectSort(arr); } //选择排序 public static void selectSort(int[] arr){ for(int i=0;i<arr.length-1;i++){ int minIndex=i; int min=arr[i]; for(int j=i+1;j<arr.length;j++){ if(min>arr[j]){//说明假定的不是最小值,重置min和minIndex min=arr[j]; minIndex=j; } } //将最小值放置在arr[i],即进行交换 if(minIndex!=i){ arr[minIndex]=arr[i]; arr[i]=min; } System.out.println((i+1)+"轮后"); System.out.println(Arrays.toString(arr)); } } }
运行结果