天天看点

离散存储【链表】

定义:什么是链表

    1、n个节点离散分布

    2、彼此通过指针相连

    3、每个节点只有一个前驱节点,每个节点只有一个后续节点

    4、首节点没有前驱节点,尾节点没有后续节点

专业术语:

    1、首节点:第一个存放有效数据的节点

    2、尾节点:最后一个存放有效数组的节点

    3、头节点:头节点的数据类型和首节点类型一样,第一个存放有效数据节点(首节点)

       之前的节点,头节点不存放有效数据,加头节点的目的主要是为了方便对链表的操作。

    4、头指针:指向头节点的指针变量

    5、尾指针:指向尾节点的指针变量

如果希望通过一个函数来对链表进行处理,至少需要接受链表的哪些参数:

    只需要一个参数:头指针

    因为通过头指针可以推算出链表的其他所有信息

    一个节点整体来说只包含两部分,一部分是数据域,一部分是指针域,

    数据域是节点存放的有效数据,指针域是指向下一个与自身类型一样的节点

分类:

    1、单向链表

    2、双向链表

       每一个节点有两个指针域

    3、循环链表

       能通过任何一个节点找到其他所有的节点,尾节点指向头节点

    4、非循环链表

算法:

    1、遍历

    2、查找

    3、清空

    4、销毁

    5、求长度

    6、排序

    7、删除节点

    8、插入节点

    9、反转