首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

求解决呀,才写下插入排序就有有关问题了

2012-03-30 
求解决呀,才写下插入排序就有问题了代码如下int[] intarray new int[]{12,7,34,8,3,32,765,9,4,6}for(i

求解决呀,才写下插入排序就有问题了
代码如下
int[] intarray = new int[]{12,7,34,8,3,32,765,9,4,6};
for(int i=0;i<intarray.length;i++){
int sortKey = intarray[i];
int j = i-1;
while(j>0&&intarray[j]>sortKey){//这部分判断导致第一二个数不能排序
int temp = intarray[j+1];
intarray[j+1] = intarray[j];
intarray[j] = temp;
j--;
}
intarray[j+1] = sortKey;
for(int b=0;b<intarray.length;b++){
System.out.print(intarray[b]+" ");
}
System.out.print(" sortKey:"+sortKey);
System.out.println();
}
System.out.println("---------------------------");
for(int i=0;i<intarray.length;i++){
System.out.print(intarray[i]+" ");
}

高手求解呀~~~~


[解决办法]
如果这是书上的伪代码
楼主我建议你不要看这本书了
这个代码很没水准
这个代码里的 intarray[j+1] = sortKey; 完全可以删去
当然用 intarray[j+1] = sortKey; 最好
那样的话,上边的 
int temp = intarray[j+1];
 intarray[j+1] = intarray[j];
 intarray[j] = temp;
 j--;
中就是过多的赋值了,完全没必要 

intarray[j+1] = intarray[j];
 j--;
就够了

热点排行