拿出数组第一个元素,然后从第二个位置开始,一直拿和第一个比,如果比第一个小,那么交换下标位置
直到选出array.length-1个较小元素,剩下的最大的元素自动排在最后一位
public class Insertsort {
public static void main(String[] args) {
int [] arr= {20,2,5,1,30};
//循环数组内的元素,因为最后一个是最大的不用循环
for(int i =0;i<arr.length-1;i++) {
int min =i;
//从第二个元素开始,遍历所有元素,拿出来和第一个比,如果小,那么交换下标
for(int j =i+1;j<arr.length;j++) {
if(arr[min]>arr[j]) {
min = j;
}
}
//将得到的min(最小的元素)进行交换位置,例如实际得到1是最小的(arr[3])那么把他挪到a[0]位置
if(min!=i) {
int temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
}
for(int b:arr) {
System.out.println(b);
}
}