一:概括
双向链表和单链表最大的不同是双链表有两个指针域,
pre (前指针域):指向前一个结点
next(后指针域):指向后一个结点

二:基本操作的思路
增:遍历链表找到最后一个结点,最后一个结点指向新加入的结点,新加入的结点指向最后这个结点 // temp.next = newNode;
// newNode.pre = temp; //

删:
1.遍历链表找到你要删除的结点,要删除结点的前一个结点的尾指针指向要删除的结点的下一个结点
2. 要删除的下一个结点的前指针指向要删除结点的前一个结点
// temp.pre.next = temp.next;
// temp.next.pre = temp.pre;

改:遍历链表找到要修改的结点,把要修改结点的数据替换为要新节的的数据
查:遍历链表,找到结点并返回
三:代码如下
1.功能类
public class DoubleLinked {
private Node head = new Node(); //头结点,不存放数据,便于对整个链表的操作
// 返回头结点
public Node getHead() {
return head;
}
// 遍历双向链表
public void showLinked_1(Node head) {

本文介绍了双向链表的基本概念,与单链表的区别在于其包含前指针和后指针。详细阐述了双向链表的增、删、改、查四种基本操作的实现思路,并提供了相应的代码实现。
4502

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



