判断单链表中是否存在环


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...

面试题 相关文章推荐
C语言笔试集
Jul 24 面试题
简述数组与指针的区别
Jan 02 面试题
将一个文本文件的内容按倒序打印出来
Jan 05 面试题
局域网定义和特性
Jan 23 面试题
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
Mar 27 面试题
3个CCIE对一个工程师的面试题
May 06 面试题
傲盾软件面试题
Aug 17 面试题
Linux的文件类型
Mar 07 面试题
介绍一下grep命令的使用
Jun 28 面试题
什么是makefile? 如何编写makefile?
Aug 08 面试题
Ajax主要包含了哪些技术
Jun 12 面试题
三个Unix的命令面试题
Apr 12 面试题
我能否用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
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
php中的钩子理解及应用实例分析
2019/08/30 PHP
JQuery 风格的HTML文本转义
2009/07/01 Javascript
Javascript Math对象
2009/08/13 Javascript
jQuery 获取对象 定位子对象
2010/05/31 Javascript
js multiple全选与取消全选实现代码
2012/12/04 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
JavaScript学习笔记之Function对象
2015/01/22 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
优化Vue中date format的性能详解
2020/01/13 Javascript
vue组件入门知识全梳理
2020/09/21 Javascript
Python可变参数用法实例分析
2017/04/02 Python
TensorFlow损失函数专题详解
2018/04/26 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
python正则表达式之对号入座篇
2018/07/24 Python
python3中利用filter函数输出小于某个数的所有回文数实例
2019/11/24 Python
彻底弄明白CSS3的Media Queries(跨平台设计)
2010/07/27 HTML / CSS
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
Delphi笔试题
2016/11/14 面试题
班主任寄语大全
2014/04/04 职场文书
学习十八大标语
2014/10/09 职场文书
2014年调度员工作总结
2014/11/19 职场文书
房屋认购协议书
2015/01/29 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
实习单位意见
2015/06/04 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
javaScript Array api梳理
2021/03/31 Javascript