我们都知道数据结构有顺序的和跳跃的,而链表就是一种跳跃,不是用顺序实现的,它是用指针实现,在内存中不连续。意思就是说,链表就是将一系列不连续的内存联系起来,将那种碎片内存进行合理的利用,解决空间的问题。链表有单向的,双向的。但是一般单向的链表是作为面试考察中最重要的一种,接下来我们通过本章节可以简单了解下单向链表的实现原理和一些考察的知识点。
手写链表
我们通过一个List,包含简单增删改查,来熟悉下链表的结构。
首先定义下List的简单节点,包括一个头节点head和一个静态内部类Node:
public class List<T> {
static class Node<T> {
Node<T> next = null;
T data;
public Node(T data){
this.data = data;
}
}
Node<T> head = null;
}
接下来我们来实现下这个链表的插入,很简单我们通过头节点插入:
public void