把若干个节点通过指针域连接在一起,就形成了链式表。
每个节点(Node)数据项:
数据域:可以是若干个任意类型的数据项
指针域:专门指向下一个节点
链式表的结构可以如下图般简单理解,每一个节点的指针域都指向下一个节点,也就是该指针的值就是下一个节点的地址。例如现有一个链表,内有两个节点A与B,A->next就可以访问到B。
不带头结点的链式表:
第一个节点的数据域存储的是有效数据的链表
缺点:
① 头插入节点时,会修改指向第一个节点的指针,参数据需要传递二级指针
② 删除节点时,需要分两种情况:
待删除第一个节点时,也会修改指向第一个节点的指针,就需要传递二级指针
待删除的不是第一个节点时,就正常删除
运算实现:创建、添加、删除、访问、遍历、排序、修改
链式表的运算实现(不带头结点的链式表)https://download.csdn.net/download/snowysc/87631860
带头结点的链式表:
第一个节点的数据域不用于存储有效数据的链表。该头结点是专门用于指向第一个有效数据的节点
优点:无论是插入还是头删除,头结点永远不会变,变的只是头结点的next,所以不用传递二级指针,也不用额外处理头删除
缺点:会额外多一个头结点
运算实现:创建、添加、删除、访问、遍历、排序、修改链式表的运算实现(带头结点的链式表)https://download.csdn.net/download/snowysc/87631723