`public class InsertSort {
public static void main(String[] args) {
int[] arrays = {6,12,9,15,4,2,18};
int i,j,temp; //提升作用域
for (i = 1; i < arrays.length; i++) { //第一层循环找出要插入的值
temp = arrays[i]; //后面移位会导致array[i]的值改变,先将其值存储在temp中
for (j = i - 1; j >= 0 ; j--) { //第二层循环,把要插入的值往前面有序的区域里面放,这也意味着需要循环控制移位
if(temp < arrays[j]){ //判断,要插入的值是否比当前元素小
arrays[j+1] = arrays[j]; //元素后移
}else{
break; //当找到比插入的值小的位置时,退出循环
}
}
arrays[j+1] = temp; //将插入的值放在比自己小的值后面,也正是要插入的正确位置
}
for (int array : arrays) {
System.out.print(array+"\t");
}
}
}`