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 }