我正在研究一个Java项目,该项目将节点添加到具有int值的链表的末尾。但是,节点值必须在链表内的0 .... n-1之间。我已经编写了有关如何在列表末尾添加元素并检查元素是否已存在的代码。问题是如何逐步添加元素并从0开始。
例如{}加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;
}