Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向单链链表添加元素_Java_List - Fatal编程技术网

Java 向单链链表添加元素

Java 向单链链表添加元素,java,list,Java,List,好的,解决方法可能很简单,但我现在不明白 代码: ListElem<T> first; int size = 0; public void add(T value) { if (value == null) return; ListElem<T> elem = new ListElem<T>(value); elem.next = first; first = elem; size++; } ListElem优先; int siz

好的,解决方法可能很简单,但我现在不明白

代码:

ListElem<T> first;
int size = 0;
public void add(T value) {
  if (value == null)
    return;
  ListElem<T> elem = new ListElem<T>(value);
  elem.next = first;
  first = elem;
  size++;
}
ListElem优先;
int size=0;
公共无效添加(T值){
如果(值==null)
返回;
ListElem elem=新ListElem(值);
elem.next=第一;
第一=元素;
大小++;
}
这究竟是如何在单链链表的开头添加元素的? 我用给定的值创建一个新元素

接下来的两行会发生什么?我了解在列表中插入元素的过程,但无法将其与此代码联系起来


第一个是什么?添加堆栈之前的头部如下所示:

第一个->下一个->下一个->…->结束

你创建了元素

然后你说“元素的下一个元素是第一个元素”

elem.next=first所以你有

元素->第一

最后,将第一个elem设置为elem。因此,堆栈如下所示:

元素->第一->下一->…->结束

第一个id现在是元素,所以基本上你回到第一个状态:

第一个->下一个->下一个->…->结束;(首先是您刚才添加的新元素)

此模式可能有帮助:

elem.next = first;

在添加堆栈之前,如下所示:

第一个->下一个->下一个->…->结束

你创建了元素

然后你说“元素的下一个元素是第一个元素”

elem.next=first所以你有

元素->第一

最后,将第一个elem设置为elem。因此,堆栈如下所示:

元素->第一->下一->…->结束

第一个id现在是元素,所以基本上你回到第一个状态:

第一个->下一个->下一个->…->结束;(首先是您刚才添加的新元素)

此模式可能有帮助:

elem.next = first;

表示前一个元素应位于新元素旁边

first = elem;
意味着您的新元素成为第一个元素

表示前一个元素应位于新元素旁边

first = elem;
意味着您的新元素成为第一个元素