每一轮比较都拿一个暂定的最小值去和后面的数进行比较,遇见小的就交换;下一轮从上一轮的下一个索引开始。
package 排序; import java.util.Arrays; public class 选择排序 { //101 34 119 1 /* 第1次 [1, 34, 119, 101] 第2次 [1, 34, 119, 101] 第3次 [1, 34, 101, 119] */ public static void main(String[] args) { int a[]= {101 ,34, 119 ,1}; pai(a); } static void pai(int []a) { for (int i=0;i<a.length-1;i++) { int min=a[i];//假设为最小值 int index=i; for (int j=i+1;j<a.length;j++) { if(a[i]>a[j]) { min=a[j];//重置min index=j;//重置index } } //优化 if(index!=i) { a[index]=a[i]; a[i]=min; } System.out.println("第"+(i+1)+"次"); System.out.println(Arrays.toString(a)); } } }
以后多多交流
看了那么多博客,就你的能看懂
以后多发点哦
好
我加你了哦
最好再详细点