![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表知识
文章平均质量分 77
woshi1zhibenzhu
这个作者很懒,什么都没留下…
展开
-
检测单链表中是否有环--快慢指针法
问题描述:在单向链表中,每个结点都包含一个指向下一个结点的指针,最后一个结点的这个指针被设置为空。但如果把最后一个结点的指针指向链表中存在的某个结点,就会形成一个环,在顺序遍历链表的时候,程序就会陷入死循环。 我们的问题就是,如何检测一个链表中是否有环,如果检测到环,如何确定环的入口点(即求出环长,环前面的链长)。 一种比较耗空间的做法是,从头开始遍历链表,把每次访问到的结点(或其地址)存入一转载 2012-08-30 23:48:39 · 7741 阅读 · 0 评论 -
两有序链表合并为一个--递归与非递归两种方式
首先介绍非递归方法。 因为两个链表head1 和head2都是有序的,所以我们只需要找把较短链表的各个元素有序的插入到较长的链表之中就可以了。 源代码如下: 1 node* insert_node(node *head, node *item) //head != NULL 2 { 3 node *p = head; 4 node *q = NULL; //始终指向p之前的节点 5转载 2012-08-30 23:54:36 · 3775 阅读 · 0 评论