判断单链表中是否存在环


Posted in 面试题 onJuly 16, 2012
#include “stdafx.h”
typedef char eleType; // 定义链表中的数据类型
typedef struct listnode { // 定义单链表结构
eleType data;
struct listnode *next;
}node;

node *create(int n) { // 创建单链表,n为节点个数
node *p = (node *)malloc(sizeof(node));
node *head = p; head->data = ‘A’;
for(int i=’B; i p = (p->next = (node *)malloc(sizeof(node)));
p->data = i;
p->next = NULL;
}
return head;
}

void addCircle(node *head, int n) { // 增加环,将链尾指向链中第n个节点
node *q, *p = head;
for(int i=1; p->next; i++) {
if(i==n) q = p;
p = p->next;
}
p->next = q;
}

int isCircle(node *head) { // 这是笔试时需要写的最主要函数,其他函数可以不写
node *p=head,*q=head;
while( p->next && q->next) {
p = p->next;
if (NULL == (q=q->next->next)) return 0;
if (p == q) return 1;
}
return 0;
}

int main(int argc, char* argv[]) {
node *head = create(12);
addCircle(head, 8); // 注释掉此行,连表就没有环了
printf(“%d\n”, isCircle(head));
}

Tags in this post...

面试题 相关文章推荐
介绍一下Cookie和Session及他们之间的区别
Nov 20 面试题
如何写出高性能的JSP和Servlet
Jan 22 面试题
C语言怎样定义和声明全局变量和函数最好
Nov 26 面试题
一套带答案的C++笔试题
Jan 10 面试题
介绍一下SQL中union,intersect和minus
Apr 05 面试题
标记环介质访问控制协议
Mar 27 面试题
傲盾软件面试题
Aug 17 面试题
编程实现去掉XML的重复结点
May 28 面试题
如何利用cmp命令比较文件
Sep 23 面试题
GWT的应用有哪两种部署模式
Dec 21 面试题
Java中会存在内存泄漏吗,请简单描述
Dec 22 面试题
Java servlet面试题
Mar 04 面试题
我能否用void** 指针作为参数, 使函数按引用接受一般指针
Feb 16 #面试题
广州御银科技股份有限公司试卷(C++)
Nov 04 #面试题
不开辟用于交换数据的临时空间,如何完成字符串的逆序
Dec 02 #面试题
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
May 09 #面试题
*p++ 自增p 还是p所指向的变量
Jul 16 #面试题
编码实现字符串转整型的函数
Jun 02 #面试题
华为慧通笔试题
Apr 22 #面试题
You might like
文件上传程序的全部源码
2006/10/09 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
获取python文件扩展名和文件名方法
2018/02/02 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
2018/10/21 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
JAVA中运算符的分类及举例
2015/09/12 面试题
应届大学生的推荐信
2013/11/20 职场文书
开办加工厂创业计划书
2014/01/03 职场文书
畜牧兽医本科生的自我评价
2014/03/03 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
实验室的标语
2014/06/20 职场文书
学校与家长安全责任书
2014/07/23 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python