摘要: 对于单链表来说,每个链表只存储了向后的指针,因此当指针遍历到链表尾节点之后就会停止。这样一个节点就无法向前获取它的前驱结点,这用起来还是有些麻烦的,因此我们思考添加一个前驱指针,在单链表的基础上形成双链表。 这样一来,是不是就方便很多了? 既然存在单向循环链表,那么也就存在双向循环链表了。 同样为了 阅读全文
posted @ 2019-08-05 19:02 JiaMeng991010 阅读(662) 评论(0) 推荐(0) 编辑
摘要: 就和双链表的需求一样,但是在这里我们不设置前驱节点,而是把单链表的首位连接起来,形成循环链表。 为了使非空链表的空链表处理起来一样,我们通常设置一个头结点,当然这并不是必须的,而是这样做非常方便。 实际上循环链表和单链表的主要差别在于循环的判断条件上,原来是判断p->next是否为空,现在是p->n 阅读全文
posted @ 2019-08-05 18:42 JiaMeng991010 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 1、在这里我们首先要复习一下链表C语言的定义:这看起来很简单,但实际上至关重要!!! data域--存放结点值的数据域。next域--存放结点的直接后继的地址(位置)的指针域(链域),也就是说next域存储的是一个地址,这个地址是下一节点的地址。注意:①链表通过每个结点的链域将线性表的n个结点按其逻 阅读全文
posted @ 2019-08-05 18:14 JiaMeng991010 阅读(541) 评论(1) 推荐(0) 编辑