【发布时间】:2017-01-18 06:57:26
【问题描述】:
【问题讨论】:
-
寻求帮助的问题应该包含您尝试过的代码。它们应该包含适当的问题描述。请至少阅读"How do I ask a good question?"。
-
附注:要求尽快回答几乎是不礼貌的。答案来了就来了。如果你想马上得到好的答案,那就写好问题。你的……不是。
【问题讨论】:
您的问题非常简单:您在代码中过于频繁地增加 k!
意思:你已经在循环了k;所以你得到了:
for (int k=0; k < a.length; k++) { // dont use hardcoded "9" here btw!
然后你就有了
k++ 再次在循环体中。您根本不必这样做!
含义:您的 k 增长速度超过了应有的速度。但是当 k 达到 9 时你的循环停止;您没有处理数组中的所有元素!
Plus:插入排序不适用于迭代数组一次! 您必须不断迭代,直到所有元素都到位!你真的想更多地研究/思考这个算法。 你,不是我们!
如上所述,不要对数组使用硬编码限制。您曾经说过您的数组应该包含 10 个元素。从那里开始,您应该只使用 a.length !此外:循环计数器之类的东西只能使用一个字母的名称。 “a”是一个非常糟糕的数组名称;例如,你为什么不称它为“数字”。
【讨论】: