![](/img/trans.png)
[英]How to maintain an Ordered Linked List and add, remove elements in java
[英]Java : add elements in linked list incrementally
我正在开发一个 java 项目,该项目将节点添加到具有 int 值的链表的末尾。 但是,节点值必须介于链表内的 0....n-1 之间。 我已经编写了有关如何在列表末尾附加元素并检查元素是否已存在的代码。 问题是如何增量添加元素并从0开始。
ex.{} add 3: error (必须加0)
{0} add 2: error (you must add 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;
}
简单的nbNodes
将充当“轮到谁了”,例如,如果列表为空,则 nbNodes 等于零,意味着下一个应该出现的元素为零,如果 nbNodes 等于 5,则下一个元素应该为 5,依此类推在。
所以这个过程是检查 append 方法,如果即将到来的数字等于或不等于nbNodes
并根据它采取行动。
您可以考虑更改它的名称以适应它现在的职责,或者为此任务添加一个新名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.