Java-数据结构-链表

Java-数据结构-链表

  • 链表
  • 链表的种类
    • 单向链表
    • 双向链表
    • 双端链表
  • 链表操作

链表

链表是一种线性数据结构,但不会根据线性存储数据,而是在当前元素存储下个元素的指针。链表相对数组的优点是,可以不预先知道数据的大小,而且不像数组那样需要空间的连续性,因此链表可以充分的利用计算机的内存空间,但是它也失去了随机取出数据的灵活性和存储指针的额外内存开销。

链表的种类

单向链表

单向链表是最简单的一种,它每个节点分为两部分:数据域和指针域,数据域存储当前节点的数据信息,指针域存储下个节点的地址。单链表的遍历,只能从头节点遍历,依次往后查询,插入也只是将新节点置为头节点,将指针指向原头节点,删除某个节点,只需将该节点的上个节点的指针指向该节点的下个节点即可。数据模型图如下:
Java-数据结构-链表_第1张图片
增加
Java-数据结构-链表_第2张图片
删除
Java-数据结构-链表_第3张图片

双向链表

理解了单向链表,就可以很快理解双向链表,双向链表只是在元素中加入了指向上个元素的指针,节点信息就包括三部分,前指针域、数据域、后指针域。数据模型图如下:
Java-数据结构-链表_第4张图片

双端链表

双端链表只是在单向链表的基础上多了一个对尾节点的引用,解决了单向链表只能从头节点插入数据的缺点。Java-数据结构-链表_第5张图片

链表操作

链表操作
Java单链表、双端链表、有序链表实现

你可能感兴趣的:(java,Java,数据结构,链表)