java - Java:在链表中增量添加元素
问题描述
我正在开发一个 java 项目,该项目将节点添加到带有 int 值的链表的末尾。但是,节点值必须在链表内的 0....n-1 之间。我已经编写了关于如何在列表末尾附加元素并检查元素是否已经存在的代码。问题是如何增量添加元素并从 0 开始。
ex.{} add 3 : error (你必须加 0)
{0} add 2 : error (你必须加 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 等于 0,表示下一个元素应该是 0,如果 nbNodes 等于 5,那么下一个元素应该是 5,依此类推.
因此,该过程是检查 append 方法是否即将到来的数字等于nbNodes
或不等于并据此采取行动。
您现在可以考虑更改它的名称以适应它的职责,或者为此任务添加一个新名称。
推荐阅读
- elasticsearch - 连接到远程 Elastic 搜索服务器并在 Drupal 中显示结果的最佳方式
- javascript - 为什么我的 React App 中的图片会压缩?
- python - 使用“pip install twilio”时出错
- python - 尝试连接到出租车服务器,但我无法导入任何内容
- laravel - Laravel 多态与自定义列一对一
- jsp - 在 bucle 中按行分组两个不同名称的收音机?
- c - 与以前的定义错误混淆
- python - 在钩子 gitlab api 上推送事件
- ethereum - web3j - 带有字符串参数的事件的 TypeReference
- build - 下一个构建错误:连接 ECONNREFUSED 127.0.0.1:80