插入排序算法的核心思想就是拿出当前要插入的元素,与之前已有序的元素从后到前依次比较,若当前元素大于已有序的最后一个元素,直接将当前元素插入到已有序元素的后边即可;若当前元素小于前一个元素,则前一个元素后移,再依次比较下一个,直到当前有序的元素不再小于当前待插入元素为止,将当前元素插入到空闲为止即可。
插入排序算法在诸多的排序算法中算是比较简单的一种。具体代码如下:
import java.util.Arrays;
public class Demo11 {
public static void main(String[] args) {
int[] arr = {5,6,3,2,8,7,6,1};
for(int i = 1; i < arr.length; i++){
int k = arr[i]; //使用变量记录当前要插入的元素
int j; //让j指向当前要插入的元素的前一个元素
for(j = i-1; j >= 0 && k < arr[j]; j--){
arr[j + 1] = arr[j]; //移动元素
}
arr[j+1] = k;
}
System.out.println(Arrays.toString(arr));
}
}