直接插入排序:是一种最简单的排序方法。
直接插入排序基本原理:它的基本操作就是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。也就是说,直接插入排序将待排序序列分成两部分,一部分是有序序列,一部分是无序的。将无序序列的数添加到有序序列中,待无序序列长度为0是,直接插入排序结束。
在直接插入排序过程中一共进行n-1趟插入,即:先将序列表中的第一个记录看成是有序的子序列,然后从第二个记录起逐个插入,直至整个序列变成按关键字非递减有序序列为止。
具体JAVA实现算法为:
package com.simpleInert.sort;
public class SimpleInsertSort {
/*几个注意点
* 1.外层循环只能循环n-1次
* 2.内层循环易错点比较多,主要是判断条件,一定是j>=0
* 并且sortArray[j]>temp;j--
* 3.sortArray[j+1]=temp ;一定是j+1
* 是因为当退出内层循环的时候j--了一次。
* */
public int[] data ;
public void sort(int [] sortArray){
for(int i = 1;i<sortArray.length;i++){ //控制n-1趟插入排序
int tem