插入排序是稳定的排序算法。
插入排序有点类似与抓扑克牌,比如在玩斗地主,你在玩手机,然后将牌背面朝上一个一个的叠起来,抓完牌,手机放下了,这时就要一张一张的往手上递牌,然后会以第一张为基准,然后大于第一张就插左边,小于就插右边,插排也是这样的。
遍历数组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;
}
}