单链表
单向链表的每一个节点包含两个部分:
一部分是存放数据的的变量data,另一部分是指向下一个节点的指针next。
private static class Node{
int data;
Node next;
}
链表的第1个节点被称为头节点,最后1个节点被称为尾节点,尾节点的next指针指向空。
双向链表
双向链表比单向链表要复杂一些,它的每一个节点除了拥有data和next,还有指向前置节点的prev指针。
链表在内存中的存储方式是随机存储。
链表的每一个节点分布在内存的不同位置,依靠next指针关联起来,灵活的运用碎片空间。
只要内存允许,能够插入的链表元素是无穷尽的,不需要像数组那样考虑扩容的问题。
private static class Node{
int data;
Node next;
Node prev;
}