欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
	}
	
}