/**
* 简单选择排序
* S
* 简单选择排序的基本思想:给定数组:int[] arr={里面n个数据};
* 第1趟排序,在待排序数据arr[1]~arr[n]中选出最小的数据,将它与arrr[1]交换;
* 第2趟,在待排序数据arr[2]~arr[n]中选出最小的数据,将它与r[2]交换;
* 以此类推,第i趟在待排序数据arr[i]~arr[n]中选出最小的数据,将它与r[i]交换,直到全部排序完成。
* */
public int[] SelectSort(int [] sourceArray) {
int[] array = Arrays.copyOf(sourceArray, sourceArray.length);
int temp;
for(int i=0;i<array.length-1;i++)//这里减1 是最后一次比较是 倒数第二个和倒数第一个比较完后,就结束了。其实不减也对,就是最终会多执行一次无意义的循环
for(int j=i+1;j<array.length;j++) {
if(array[i]>array[j]) {
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
return array;
}
动画演示(复制博客 传送门:https://mp.weixin.qq.com/s/vn3KiV-ez79FmbZ36SX9lg)