Chinaunix首页 | 论坛 | 博客
  • 博客访问: 356919
  • 博文数量: 135
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1106
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-20 09:56
文章分类

全部博文(135)

文章存档

2017年(3)

2016年(18)

2015年(69)

2014年(39)

2013年(6)

我的朋友

分类: C/C++

2015-10-27 16:29:27

bool IsExitLoop(list *head)
{
    list *slow = head, *fast = head;

    while (fast && fast->next)
    {
        slow = slow->next;
        fast = fast->next->next;
        if (slow == fast) break;
    }

    return !(slow == NULL || fast == NULL);
}

//找出环的入口
list *FindLoopPort(list *head)
{
    list *slow = head, *fast = head;

    while (fast && fast->next)
    {
        slow = slow->next;
        fast = fast->next->next;

        if (slow == fast) break;
    }

    if (slow == NULL || fast == NULL)
        return;

    slow = head;

    while (slow != fast)
    {
        slow = slow->next;
        fast = fast->next;
    }

    return slow;
}
阅读(622) | 评论(0) | 转发(0) |
0

上一篇:字符型转整型

下一篇:c语言中字节对齐

给主人留下些什么吧!~~