import java.util.*;
/*插入排序第三种方法
*
*/
public class t15插入排序第三次方法 {
public static void main(String[] args) {
// int[] a= {1,2,3,4,5,6,7,8,9,10,50,60,70,80,90};
// a=ppt2(a,50);
int[] a= {155,2,3516,64,65,509,610,720,850,90};
ppt3(a);
// Arrays.sort(a);
System.out.println(Arrays.toString(a));
}
//数组a已经从小到大拍好序了;value还是从小到大排序。
public static int[] ppt2(int []a,int value) {
a=Arrays.copyOf(a,a.length+1);
//从最后一个元素开始和value进行比较,如果比value大,这些元素都要后移,
//一直到value大于数组的某个元素,那么说明value就赢房子这个元素的之后。
int i;
for(i=a.length-2;i>=0;i--) {
if(value<a[i]) {
a[i+1]=a[i];//这就是往后移动。
}else {
break;
}
}
a[i+1]=value;
return a;
}
//插入排序
public static void ppt3(int[]a) {
int t,j,i;
for(i=1;i<a.length;i++) {
t=a[i];
// for( j=i-1;j>=0;j-- ) {
// if(t<a[j]) {
// a[j+1]=a[j];
// }else {
// break;
// }
// }
for( j=i-1;j>=0 && t<a[j];j--) {
a[j+1]=a[j];
}
a[j+1]=t;
}
// return a;
}
}