判断单链表中是否存在环


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

面试题 相关文章推荐
一套Java笔试题
Aug 20 面试题
C语言50道问题
Oct 23 面试题
统计每一学生的平均成绩
Jun 06 面试题
SQL里面如何插入自动增长序列号字段
Mar 29 面试题
面向对象概念面试题(.NET)
Nov 04 面试题
C#如何判断当前用户是否输入某个域
Dec 07 面试题
Linux开机引导的步骤是什么
Oct 19 面试题
如何获得EntityManager
Feb 09 面试题
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
Oct 12 面试题
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
Jun 22 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
Aug 18 面试题
如何通过jdbc调用存储过程
Apr 19 面试题
我能否用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
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
PHP面试常用算法(推荐)
2016/07/22 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
json 实例详细说明教程
2009/10/31 Javascript
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
基于Jquery的简单图片切换效果
2011/01/06 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
jquery插件开发之实现google+圈子选择功能
2014/03/10 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
基于JavaScript实现购物网站商品放大镜效果
2016/09/06 Javascript
BootStrap 动态表单效果
2017/06/02 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
JS字符串去除连续或全部重复字符的实例
2018/03/08 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
机器学习python实战之手写数字识别
2017/11/01 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
房屋出租协议书
2014/04/10 职场文书
股票投资建议书
2014/05/19 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
埃及王子观后感
2015/06/16 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python