我自己开始思考写的
1.`
public static void Charu(int a[]){//直接插入排序从小到大
for(int i=1;i<a.length;i++){
int temp=a[i];//标记第二个开始 来比较前面的数
for(int j=i-1;j>=0;j--){
if(temp<a[j]){
a[j+1]=a[j]; //比我大的数向前面走一步
if(j==0){ //如果他是这次排序最小的 也就是全部比较完了
a[j]=temp;
}
}
else{
a[j+1]=temp;
break; //break不对if else起作用 在多层循环中只跳出一层
}
}
}
}
网络上的
2.
public static void Charu1(int a[]){
int i,j;
int temp;
for(i=1;i<a.length;i++){
temp=a[i];
for(j=i-1;j>=0 && a[j]>temp;j--){
a[j+1]=a[j];
}
a[j+1]=temp;
}
}