一、单链表

1.1 线性表

线性表指的是用一根线可以串联起来的数据结构存储到物理空间之中,数据需要有相同的数据类型,元素之间的关系需要一对一,线性表有两种储存方式,分别是顺序的和链式的。
例如:
image.png

1.2 链表的介绍

链表的数据结构是由一个个节点串联起来的,每一个节点中记录了当前的数据和下一个节点的地址引用。链表在进行插入或删除元素时,会直接改变节点中对下一个元素节点的指向。所以链表的特点是:查询慢,增删快。
image.png

1.3 数组转化成链表

  1. /**
  2. * 将数组转换成链表
  3. * @param array 数组
  4. * @return 返回链表的头节点
  5. */
  6. public static ListNode arrayToListNode(String[] array){
  7. //头节点
  8. ListNode root = new ListNode(array[0]);
  9. //记录链表的上一个节点
  10. ListNode preNode = root;
  11. for (int i = 1; i < array.length; i++) {
  12. //根据数组中的元素创建出节点
  13. ListNode node = new ListNode(array[i]);
  14. //创建链表的连接关系,让链表的节点记录下一个节点的地址引用
  15. preNode.next = node;
  16. //更新链表的上一个节点
  17. preNode = node;
  18. }
  19. //返回链表的头节点
  20. return root;
  21. }
  22. public static void main(String[] args) {
  23. String[] array = {"王者荣耀","植物大战僵尸","开心消消乐","欢乐斗地主"};
  24. ListNode node = arrayToListNode(array);
  25. }