双向循环链表--Java实现

本文介绍了一个简单的双向链表实现过程,包括节点的创建、连接及遍历操作。通过实例演示了如何构造双向链表并打印所有节点的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



package cn.优快云.Ravanla;

public class DoubleLink {
	public static void main(String[] args) {
		doubleNode n1 = new doubleNode(1);
		doubleNode n2 = new doubleNode(2);
		doubleNode n3 = new doubleNode(3);
		doubleNode n4 = new doubleNode(4);
		
		n1.after(n2);
		n2.after(n3);
		n3.after(n4);
		
		n1.searchAll();
	}
}



class doubleNode{
	doubleNode pre = this;
	doubleNode next = this;;
	int data;
	public doubleNode(int data) {
		this.data = data;
	}


	public void after(doubleNode node) {
		doubleNode nextNext = next;
		this.next = node;
		node.pre = this;
		node.next = nextNext;
		nextNext.pre = node;
	}

在这里插入图片描述
前面那个图片画错了pre和next指的对象指错了,不过还是可以和下面的图连起来看的
在这里插入图片描述

我用画图工具尴尬地画出了我所理解的,希望对你有用。

	public int getData(doubleNode node) {
		return node.data;
	}
	public doubleNode getNext(doubleNode node) {
		return node.next;
	}



	public void searchAll() {
		doubleNode temp = this;
		int value = this.data;
		while(temp.next.data != value) {
			System.out.println(temp.data);
			temp = temp.next;
		}
		System.out.println(temp.data);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值