public class Solution{
public static void main (String[] args){
Integer[] a = {1,4,7,3,8,0,2};
insertSort(a);
}
private static void insertSort(int[] a){
for(int i = 1; i< a.length; i++){
// 缓存数组当前下标为指针
int pi = i;
// 将指针从i开始,向前移动,移动的条件为 该指针大于0,并且数组位于该指针的值小于其前面的值,此时交换a[pi] 与 a[pi-1] 的值,将数组位于该指针的值向前移动
while(pi > 0 ; a[pi] < a[pi-1]){
int tempPi = a[pi];
int tempPiBefore = a[pi-1];
a[pi] = tempPiBefore ;
a[pi-1] = tempPi ;
pi --;
}
}
}
}
版权归属:
administrator
许可协议:
本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
>
评论区