【问题标题】:Java : add elements in linked list incrementallyJava:在链表中增量添加元素
【发布时间】:2020-03-26 07:42:43
【问题描述】:

我正在开发一个 java 项目,该项目将节点添加到带有 int 值的链表的末尾。但是,节点值必须在链表内的 0....n-1 之间。我已经编写了关于如何在列表末尾附加元素并检查元素是否已经存在的代码。问题是如何增量添加元素并从 0 开始。

ex.{} 添加 3 : 错误(必须添加 0)
{0} 加 2:错误(必须加 1) 我写了下面的代码:

 class ItemNode {

public int item;
public ItemNode next;

public ItemNode(int item) {
    this.item = item;
    this.next = null;
  }
}

class ItemsList {
private  int nbNodes;
private  ItemNode first;
private  ItemNode last;

public ItemsList() {
    this.first = null;
    this.last = null;
    this.nbNodes = 0;
}

public int size() { 

    return nbNodes; 

}


public  boolean empty() {

    return first == null; 

}

    public  int append(int item) {

    ItemNode node = new ItemNode(item);

    if(this.empty())
    {
        first=node;
        last=node;
        nbNodes++;

    }

    else if (member(this.first,node.item))
    {
        System.out.println("Node already exists ");
    }

    else
    {
        last.next=node;
        last=node;
        nbNodes++;

    }




    return nbNodes;
}

【问题讨论】:

  • 请提供代码的所有部分:firstlastnbNodesItemNode 类的声明。也许只是您正在实现的整个具体 LinkedList 类。
  • 现在好点了吗?

标签: java list append nodes


【解决方案1】:

只需nbNodes 将充当“轮到谁了” 例如,如果列表为空,则 nbNodes 为 0,表示下一个元素为 0,如果 nbNodes 为 5,则下一个元素为 5,以此类推。

所以这个过程是检查 append 方法,如果即将到来的数字等于nbNodes 并根据它采取行动。

您现在可以考虑更改它的名称以适应它的职责,或者为此任务添加一个新名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    • 2014-04-24
    • 2023-03-02
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    相关资源
    最近更新 更多