【问题标题】:In this linked list method I try to add a item in sorted order, but I am getting a null pointer exception在这个链表方法中,我尝试按排序顺序添加一个项目,但我得到一个空指针异常
【发布时间】:2011-07-02 17:27:51
【问题描述】:
    public void addNode(Car newCarEntry){
    ListNode currentNode;
    ListNode previousNode;
    ListNode newNode = new ListNode(newCarEntry);

    if (head == null || newCarEntry.isNewerThan(head.carItem)){
        newNode.next = head;
        head = newNode;
    }else{
        currentNode = head.next;
        previousNode = head;
        while(currentNode != null &&      !newCarEntry.isNewerThan(currentNode.carItem)){
            currentNode = currentNode.next;
            previousNode = currentNode;
        }
        newNode.next = currentNode;
        newNode = previousNode.next;
    }
}

【问题讨论】:

  • 什么是 ListNode?它有什么作用?
  • @Artur Vieira,您能否提供 ListNode 的完全限定名称,我认为它可能已被弃用。

标签: java list linked-list


【解决方案1】:

你推进指针的方式有误。 变化:

        currentNode = currentNode.next;
        previousNode = currentNode;

        previousNode = currentNode;
        currentNode = currentNode.next;

你让 currentNode 和 previousNode 持有对同一个对象的引用的方式,这不是你想要的。

编辑: 你的最后一行也应该是

    previousNode.next =  newNode;

欧洲工商管理学院

    newNode = previousNode.next;

因为您没有以这种方式将新节点附加到列表中。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-13
  • 2011-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多