什么是插入排序
插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法 [1] 。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动
算法描述
- 从第一个元素开始,该元素可以认为已经被排序
- 取下一个元素tem,从已排序的元素序列从后往前扫描
- 如果该元素大于tem,则将该元素移到下一位
- 重复步骤3,直到找到已排序元素中小于等于tem的元素
- tem插入到该元素的后面,如果已排序所有元素都大于tem,则将tem插入到下标为0的位置
- 重复步骤2~5
图示

代码:
package 排序.插入;
import java.util.ArrayList;
import java.util.Arrays;
public class Solution {
public static void main(String[] args) {
int [] ints=new int[]{18,13,50,15,4,17,1};
int[] intsSort = methods(ints);
System.out.println(Arrays.toString(intsSort));
}
public static int[] methods(int[] ints){
for (int i = 0; i <ints.length-1 ; i++) {
int print=i;
int current=ints[print+1];
System.out.println("---------------"+print);
while (print>=0&&ints[print]>current){
ints[print+1]=ints[print];
print--;
};
System.out.println(print);
ints[print+1]=current;
}
return ints;
}
}
596

被折叠的 条评论
为什么被折叠?



