插入排序:
算法思想:
大方向:对数组进行遍历,取出每一个遍历的起始的值temp=arr[i],与数组中的每一个值进行,将temp与数组中的值进行比较,将比temp小的数往前放;
public class 插入排序 {
public static void main(String[] args) {
int[] arr = {3, 45, 2, 45, 7, -1, 0};
for (int i = 1; i < arr.length; i++) {
//角标从1开始,因为后面要进行判断操作,并且存在减一的角标
int temp = arr[i];
//将挑选出来的某一项挑选出来
int j = i;
//将将挑选出来的数与数之前的数进行比较,
while (j > 0 && temp < arr[j - 1]) {
arr[j] = arr[j - 1];
j--;
//每次将角标往前移动一下
}
//判断挑选出来的数是不是在原来的位置
if (temp != arr[j]) {
arr[j] = temp;
}
}
}
}