+ -
当前位置:首页 → 问答吧 → 求解决呀,才写下插入排序就有问题了

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

时间:2011-11-01

来源:互联网

代码如下
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]+" ");
}

高手求解呀~~~~

作者: a4391qq   发布时间: 2011-11-01

你这是插入排序?
插入排序的时间复杂度可以达到O(n),你这个是O(n^2),只是简单排序
要让程序正常把j>0改成j>=0就可以了

作者: chhch11111   发布时间: 2011-11-01

噢~~~对呀,照着伪代码写的,不知道是不是这么个过程呀

作者: a4391qq   发布时间: 2011-11-01

热门下载

更多