详细解释这个代码 public void addLast(int data){ Node node = new Node(data); if(head == null) { head = node; return; } Node cur = head; while (cur.next != null) { cur = cur.next; }
时间: 2024-03-26 13:38:57 浏览: 59
Java语言中链表和双向链表
这段代码是一个链表的添加操作,目的是在链表的末尾添加一个新的节点。具体实现步骤如下:
1. 创建一个新的节点,使用传入的 data 值作为参数,创建一个 Node 类型的对象 node。
```
Node node = new Node(data);
```
2. 判断链表是否为空,如果链表为空,则将新节点设置为头节点,并结束该方法。
```
if(head == null) {
head = node;
return;
}
```
3. 如果链表不为空,需要遍历链表找到最后一个节点,然后将新节点添加到最后一个节点的后面。
```
Node cur = head; // 从头节点开始遍历
while (cur.next != null) { // 遍历到链表的最后一个节点
cur = cur.next;
}
cur.next = node; // 将新节点添加到链表的最后一个节点的后面
```
在这个过程中,我们需要一个指针变量 cur 来遍历链表。从头节点开始,一直遍历到最后一个节点,直到找到一个节点的 next 指针为 null,表示已经到达了链表的尾部。此时,我们就可以将新节点添加到链表的最后一个节点的后面。最后,遍历结束,该方法执行完毕。
阅读全文