插入排序算法就是通过将新加入的数与排好序的数组进行对比,从而找出合适的位置给新加入的数字。就好像是我们排队一样,先让一个人站队,然后让未站队的人与站队的人进行比较,从而找出未站队人的合适的位置,然后进行插入。插入算法实现的代码如下:
public static void InsertSort(int[] array){ int key = 0; for(int i = 0;i<array.length;i++){ key = array[i+1]; while(i > -1){ if(key < array[i]){ array[i+1] = array[i]; i--; } else { break; } } array[++i] = key; } }
插入排序时间复杂度O(n^2) 空间复杂度为O(1)。