求解决呀,才写下插入排序就有问题了
时间: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]+" ");
}
高手求解呀~~~~
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就可以了
插入排序的时间复杂度可以达到O(n),你这个是O(n^2),只是简单排序
要让程序正常把j>0改成j>=0就可以了
作者: chhch11111 发布时间: 2011-11-01
噢~~~对呀,照着伪代码写的,不知道是不是这么个过程呀
作者: a4391qq 发布时间: 2011-11-01
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28