”插入“排序的实现原理也不难理解,就像打扑克,抓牌理牌一样。
我这个实现的思路是:
数组的第一个数,也就是a[0],把它看作抓到的第一张牌,把数组的第二个数作为第二张牌,
如果它比第一张牌大,OK,顺序不变;如果比第一张牌小, 则调换位置。
这是一层循环。
然后再继续抓第三张牌。
这是另一层循环。
这只是实现的一种,注意谁和谁调换了位置。
我这个实现的思路是:
数组的第一个数,也就是a[0],把它看作抓到的第一张牌,把数组的第二个数作为第二张牌,
如果它比第一张牌大,OK,顺序不变;如果比第一张牌小, 则调换位置。
这是一层循环。
然后再继续抓第三张牌。
这是另一层循环。
这只是实现的一种,注意谁和谁调换了位置。
package com.dc.sort;
import java.util.Arrays;
public class InsertSort {
int[] a ={51,89,26,63,42,91,71,18,38};
public void sort(){
System.out.println(Arrays.toString(a));
for (int inserValueIndex=1;inserValueIndex<a.length;inserValueIndex++) {
for(int index=0;index<inserValueIndex;index++){
while(a[inserValueIndex]<a[index]){
int temp = 0;
temp =a[index];
a[index] = a[inserValueIndex];
a[inserValueIndex] = temp;
}
}
}
System.out.println(Arrays.toString(a));
}
public static void main(String[] args) {
InsertSort insertSort = new InsertSort();
insertSort.sort();
}
}