java算法及数据结构and面经

算法面经--直接插入排序

2020-06-12  本文已影响0人  永不熄灭的火焰_e306

直接插入排序

一、算法思路与介绍

插入排序(Insertion Sorting)的基本思想是:把 n 个待排序的元素看成为一个有序表和一个无序表开始时有序表中只包含一个元素,无序表中包含有 n-1 个元素,排序过程中每次从序无表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。

插入排序1.png

二、算法实现

 public static void insertSort(int[] arr){
  int insertValue = 0; //待插入的数
  int insertIndex = 0; //待插入的索引下标
  for(int i =1;i<arr.length;i++){
  //定义待插入的数
  insertValue = arr[i];
  insertIndex = i-1;
  while(insertIndex>=0 && insertValue<arr[insertIndex]){
  arr[insertIndex + 1] = arr[insertIndex]; //后移
  insertIndex --;
  }
  if(insertIndex +1 !=i){
  arr[insertIndex +1]=insertValue;
  }

  }
 }
上一篇下一篇

猜你喜欢

热点阅读