判断单链表中是否存在环


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

面试题 相关文章推荐
如何提高JDBC的性能
Apr 30 面试题
写一个在SQL Server创建表的SQL语句
Mar 10 面试题
写出SQL四条最基本的数据操作语句(DML)
Dec 12 面试题
.NET里面什么时候需要调用垃圾回收
Jun 01 面试题
委托与事件是什么关系?为什么要使用委托
Apr 18 面试题
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
May 23 面试题
Javascript如何发送一个Ajax请求
Jan 26 面试题
网络体系结构及协议的定义
Mar 13 面试题
Java面试题:请说出如下代码的输出结果
Apr 22 面试题
什么是抽象
Dec 13 面试题
Servlet如何得到客户端机器的信息
Oct 17 面试题
DELPHI面试题研发笔试试卷
Nov 08 面试题
我能否用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 多个submit提交表单 处理方法
2009/07/07 PHP
php通过curl模拟登陆DZ论坛
2015/05/11 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
js表单登陆验证示例
2016/10/19 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
深入理解jQuery()方法的构建原理
2016/12/05 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
分析javascript原型及原型链
2018/03/18 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
angular 服务随记小结
2019/05/06 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
Layui Form 自定义验证的实例代码
2019/09/14 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
Python实现模拟登录及表单提交的方法
2015/07/25 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
Python制作简易注册登录系统
2016/12/15 Python
Python获取当前路径实现代码
2017/05/08 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
浅析Python迭代器的高级用法
2020/07/16 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
印尼极简主义和实惠的在线家具店:Fabelio
2019/03/27 全球购物
软件测试工程师面试问题精选
2016/10/28 面试题
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
机械制造专业毕业生求职信
2014/03/02 职场文书
高中生职业规划范文
2014/03/09 职场文书
搞笑爱情保证书
2014/04/29 职场文书
关于美容院的活动方案
2014/08/14 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js