插入排序是稳定的排序算法。
插入排序有点类似与抓扑克牌,比如在玩斗地主,你在玩手机,然后将牌背面朝上一个一个的叠起来,抓完牌,手机放下了,这时就要一张一张的往手上递牌,然后会以第一张为基准,然后大于第一张就插左边,小于就插右边,插排也是这样的。
遍历数组list,让基数为list[i] 然后如果找到比这个基数大的,则调换位置 如果没找到,就继续往右遍历 ,反复如此
代码如下:
public void Chapai(int [] array){ for(int i =1;i<array.length;i++){ int temp = array[i]; int j = i-1; while(j>=0 && temp < array[j] ){ //将基数位置变成基数 左侧 大于基数的数 array[j+1] = array[j]; //然后指针回移,转为基数左侧的位置,准备将 基数 放入 原来 基数的左侧 j--; } //将基数赋值给基数左侧,完成调换。 array[j+1] = temp; } }