java实现单链表
程序员文章站
2024-03-01 09:10:10
...
class Node {
int data; //节点内容
Node next; //下一个节点
public Node(int value) {
this.data = value;
}
//为节点追加节点 -- 需要看这个节点后还有没有其他节点
//有的话 继续向后找 直到找到最后一个节点为止
public void append(Node node) {
Node currentNode = this;
while(true) {
Node nextNode = currentNode.next;
currentNode = nextNode;
if (nextNode == null) {
break;
}
}
currentNode = node;
}
//获取下一个节点
public Node next() {
return this.next;
}
//获取节点的数据
public int getData() {
return this.data;
}
//当前节点是否是最后一个结点 -- 下一个是否为空
public boolean isLast() {
return next == null;
}
//删除下一个节点
public void removeNext() {
Node newNext = next.next;
this.next = newNext;
}
//显示所有节点信息
public void show() {
Node currentNode = this;
while (true) {
System.out.println(currentNode.data + " ");
currentNode = currentNode.next;
if (currentNode == null) {
break;
}
}
}
//插入一个新的节点
public void insert(Node node) {
Node nextNext = next;
this.next = node;
node.next = nextNext;
}
}
上一篇: springBoot 多模块的必要性