Java插入排序无法正常工作

时间:2016-09-10 06:16:28

标签: java insertion

enter image description here

这是代码截图链接。

我编辑的时间很多,但每次输出都没有完全排序。

1 个答案:

答案 0 :(得分:1)

您的问题非常简单:您在代码中经常增加 k

含义:你已经用k循环了;所以你得到了:

for (int k=0; k < a.length; k++) { // dont use hardcoded "9" here btw!

然后你有

循环体中

k ++ 再次。你根本不需要这样做!

含义:你的k增长速度超过预期。但是当k达到9时你的循环停止;你处理数组中的所有元素!

加号:插入排序不适用于迭代数组一次! 你必须继续迭代,直到所有元素都在他们的位置!你真的想学习/思考更多关于这个算法。 ,而不是我们!

如上所述,不要对数组使用硬编码限制。你曾经说过你的数组应该包含10个元素。从那以后,你应该只使用a.length!此外:只使用单字母名称作为循环计数器等。 &#34;&#34;对于数组来说是一个非常坏的名字;你怎么称呼它&#34;数字&#34;例如。