insertSort

 1 public static int[] insertSort(int[] arr){
 2         int i,j,idx,jdx,n,ndx,flag,fdx;
 3         int[] brr=new int[arr.length];
 4 
 5         //in 1st loop,cannot execute the loop,so initialize the first element
 6         brr[0]=arr[0];
 7         //loop start from 2nd element
 8         for(i=2;i<=arr.length;i++){
 9             printArr(brr);
10             idx=i-1;
11             flag=1;
12             for(j=i-1;j>=1;j--){
13                 jdx=j-1;
14                 if(arr[idx]>brr[jdx])
15                 {flag=j+1;break;}
16                 
17                     
18 
19             }
20             fdx=flag-1;
21 
22             //larger than flag,include flag,empty flag postion, push 1 postion
23             for(n= i-1;n>= flag;n--){
24                 ndx=n-1;
25                 //push 1 postion;
26                 brr[ndx+1]=brr[ndx];
27 
28             }
29             brr[fdx]=arr[idx];
30 
31             // V(j+1)=v(i);
32             
33 
34 
35 
36         }
37         return brr;
38 
39     }

 

posted @ 2021-11-11 01:30  MikeLi  阅读(45)  评论(0编辑  收藏  举报