Daily Leetcode-2链表

定义:
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

链表使用的三种策略
先进先出策略 FIFO(First In,First Out)、最少使用策略 LFU(Least Frequently Used)、最近最少使用策略 LRU(Least Recently Used)。

Daily Leetcode-2链表

数组 链表
内存空间必须连续 内存空间可不连续

单链表
Daily Leetcode-2链表
其中有两个结点是比较特殊的,它们分别是第一个结点和最后一个结点。我们习惯性地把第一个结点叫作头结点,把最后一个结点叫作尾结点。其中,头结点用来记录链表的基地址。有了它,我们就可以遍历得到整条链表。而结点特殊的地方是:指针不是指向下一个结点,而是指向一个空地址 NULL,表示这是链表上最后一个结点。

循环链表
Daily Leetcode-2链表

双向链表
Daily Leetcode-2链表

写好指针的技巧

  1. 理解指针或引用的含义
  2. 警惕指针丢失和内存泄露
  3. 利用哨兵简化实现的难度
  4. 重点留意边界条件的处理
  5. 举例画图可辅助思考
  6. 多写多练
上一篇:jks文件的使用以及jks转pfx格式


下一篇:leetcode 31. 下一个排列