【问题标题】:Java insertion sort not working properly [closed]Java插入排序无法正常工作[关闭]
【发布时间】:2017-01-18 06:57:26
【问题描述】:

enter image description here

这是代码截图链接。

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

【问题讨论】:

  • 寻求帮助的问题应该包含您尝试过的代码。它们应该包含适当的问题描述。请至少阅读"How do I ask a good question?"
  • 附注:要求尽快回答几乎是不礼貌的。答案来了就来了。如果你想马上得到好的答案,那就写好问题。你的……不是。

标签: java insertion


【解决方案1】:

您的问题非常简单:您在代码中过于频繁地增加 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”是一个非常糟糕的数组名称;例如,你为什么不称它为“数字”。

【讨论】:

    猜你喜欢
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    相关资源
    最近更新 更多