package enumeration;
import jdk.nashorn.internal.ir.CallNode;
public class LinkedList_ {
public static void main(String[] args) {
Node jack = new Node("jack");
Node k = new Node("k");
Node j = new Node("j");
//连接三个节点,形成双向链表
jack.next = k;
k.next = j;
j.pre = k;
k.pre = jack;
Node first = jack;//让头节点指向jack,就是链表的头节点
Node last = j;
while(true){
if(first == null){
break;
}
System.out.println(first);
first = first.next;//指针一直向后移动
//从尾到头的遍历
while(true){
if (last == null){
break;
}
System.out.println(last);
last = last.pre;
}
//链表添加或者删除一个数据。
Node zhang = new Node("张三");
zhang.next = j;
zhang.pre = k;
j.pre =zhang;
k.next = zhang;
//让头指针重新指向
last = j;
System.out.println("添加后的元素,进行遍历");
while(true){
if (last == null){
break;
}
System.out.println(last);
last = last.pre;
}
}
}
}
class Node{
public Object item;
public Node next;//指向后一个节点
public Node pre;//指向前一个节点
public Node(Object name) {
this.item = name;
}
@Override
public String toString() {
return "Node name =" + item;
}
}
链表的例子
最新推荐文章于 2022-04-21 22:19:58 发布
该博客展示了如何在Java中实现一个双向链表,并进行了插入节点和反向遍历的操作。程序首先创建了三个节点jack、k和j,形成双向链表,然后通过循环遍历并打印链表。接着,向链表中添加了一个新的节点zhang,并更新了头节点,再次遍历展示添加节点后的链表结构。
766

被折叠的 条评论
为什么被折叠?



