插入排序:将整个数组分为有序组,无序组;标记好无序组第一个元素及其位置;那么插入排序一共有三个过程:
1.找到有序组中第一个大于此元素的元素,其位置就是需要插入的位置
2.空位置:从标记元素到有序组最后一个元素后移一位,空出此位置。代码:if(j==index){continue};
for(int i=index; i>j ; i--){
numbers[i]=numbers[i-1];
3.交换元素
4.假设从第二个元素开始进行排序,一直持续到最后一个即可,在外面加上循环。
5.优化:若某次循环中,从标记元素到第一个元素是有序的,则直接进入下次循环;
1.找到有序组中第一个大于此元素的元素,其位置就是需要插入的位置
2.空位置:从标记元素到有序组最后一个元素后移一位,空出此位置。代码:if(j==index){continue};
for(int i=index; i>j ; i--){
numbers[i]=numbers[i-1];
3.交换元素
4.假设从第二个元素开始进行排序,一直持续到最后一个即可,在外面加上循环。
5.优化:若某次循环中,从标记元素到第一个元素是有序的,则直接进入下次循环;