插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。
思路:依次选中一个元素进行排序,后面的元素依次插入进来放入合适的位置。
public class InsertSort {
public static void main(String[] args) {
int[] arry={7,6,82,1,-5,9,23,0,45,3};
insertSort(arry);
for (int i : arry) {
System.out.print(i+" ");
}
}
private static void insertSort(int[] arry) {
for(int i = 1; i<arry.length; i++){
int intValue=arry[i];//待插入数
int insertIndex=i-1;//前面元素下标
while (insertIndex>=0&&intValue<arry[insertIndex]){
arry[insertIndex+1]=arry[insertIndex];
insertIndex--;
}
//退出while循环 说明插入位置找到 +1之前为了找到前一个元素
arry[insertIndex+1]=intValue;
}
}
}