判断单链表中是否存在环


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

面试题 相关文章推荐
2019年Java 最常见的 面试题
Oct 19 面试题
C语言面试题
Oct 30 面试题
strstr()的简单实现
Sep 26 面试题
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
Mar 19 面试题
编程实现当输入某产品代码则打印出该产品记录的功能
May 03 面试题
杭州龙健科技笔试题.net部分笔试题
Jan 24 面试题
网络体系结构及协议的定义
Mar 13 面试题
密封类可以有虚函数吗
Aug 11 面试题
面向对象设计的原则是什么
Feb 13 面试题
什么时候需要进行强制类型转换
Sep 03 面试题
值传递还是引用传递
Feb 08 面试题
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
May 02 面试题
我能否用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
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
小程序云开发之用户注册登录
2019/05/18 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
Js利用正则表达式去除字符串的中括号
2020/11/23 Javascript
Python学习笔记之os模块使用总结
2014/11/03 Python
Python实现二叉搜索树
2016/02/03 Python
python中类的属性和方法介绍
2018/11/27 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
python实现简单日期工具类
2019/04/24 Python
解决Python对齐文本字符串问题
2019/08/28 Python
python编程进阶之类和对象用法实例分析
2020/02/21 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
Python基于正则表达式实现计算器功能
2020/07/13 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
大学生军训自我评价分享
2013/11/09 职场文书
本科毕业生专业自荐书范文
2014/02/05 职场文书
2014年圣诞节促销方案
2014/03/14 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
学生夜不归宿检讨书
2014/09/23 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书