为什么要学习手写链表
Java的LinkedList,其实是双向链表,看Node就能看出来
包含size变量,头结点first,尾结点last
各种不同数据结构的CURD操作的基本功,是数据结构与算法的基本功,对于链表,我们要想熟悉它的CURD代码操作,鼠鼠认为,只有自己亲自手写链表,手写链表的定义,创建,删除,遍历,修改,才能最终熟悉其CURD的操作,最后我们刷链表的算法,才能无往而不利,比如反转链表,其实就用到了链表插入的头插法
话不多说,我们直接上代码,我们先从最简单的单链表写起,保证代码言简意赅,让你看完不再迷茫!!!
单链表的一步一步手写
1. 创建Node结点类
// 首先创建单链表的结点类Node,假设存放的是int类型的数值
// 为了简便,我们不使用私有修饰符+get/set的方式,因为这个不重要,后续调用变量只需要“对象.变量名”,适合新手
public class Node {
// 结点的next引用,指向下一个结点
Node next;
// 结点的数值域
int value;
}
2. 创建SingleDirectionLinkedList单向链表类
<