【问题标题】:Linked list without using collections in JavaJava中不使用集合的链表
【发布时间】:2017-05-09 16:03:36
【问题描述】:

这是我在链表中​​插入元素的 Java 程序。我写了以下代码:

import com.expanion.code.evalution.*;
public class Answer implements QuestionInterface {
    @Override
    public SchNode func(SchNode head, int index, char ch )
    {
        SchNode ptr;
        SchNode temp = new SchNode(ch);

        int count=1;


        for(ptr = head ; ptr!=null ; ptr=ptr.nextNode)
        {
            count++;
            if(index==count )
            {
                if(ptr.nextNode == null)
                {
                    ptr.nextNode = temp;
                    temp.nextNode = null;
                    ptr=temp;
                }
                else
                {
                    ptr.nextNode = temp;
                    temp.nextNode = ptr.nextNode;
                    ptr=temp;
                }
            }
        }
        return ptr; 
    }
}

编译时,编译器显示循环已崩溃。由于我是Java初学者,所以一直找不到。

【问题讨论】:

  • 如果您询问编译错误,那么您需要发布完整的错误消息。隐藏这些信息是没有意义的。
  • 欢迎来到 Stackoverflow。你的问题对我来说很不清楚。请详细描述您观察到的行为。准确引用任何错误消息。问题(或症状)是现在出现在您的 IDE 中,还是仅在您尝试运行程序时出现? (我以前从未听说过关于循环崩溃的编译器消息,所以我怀疑该描述的准确性。)
  • 我正在开发一个名为 expanion 的门户网站。给我的问题是在特定位置的链表中插入一个元素。输入将由他们手动给出,我们的部分是只对函数进行编码。而且我已经编写了代码,但我不确定代码是否正确。到目前为止,当我在他们提供的 IDE 中运行代码时,会显示一条消息“给定输入的循环已崩溃”。所以我无法找到循环在哪里崩溃

标签: java linked-list singly-linked-list


【解决方案1】:

我看到这会导致一个循环

 ptr.nextNode = temp;
 temp.nextNode = ptr.nextNode;

因为 temp.nextNode 指向自身。

你需要交换这些行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多