判断单链表中是否存在环


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

面试题 相关文章推荐
线程的基本概念、线程的基本状态以及状态之间的关系
Oct 26 面试题
在C语言中实现抽象数据类型什么方法最好
Jun 26 面试题
C++:memset ,memcpy和strcpy的根本区别
Apr 27 面试题
动态密码技术
Oct 18 面试题
27个经典Linux面试题及答案,你知道几个?
Jan 10 面试题
Python中如何定义一个函数
Sep 06 面试题
代码中finally中的代码会不会执行
Feb 06 面试题
Java程序员面试90题
Oct 19 面试题
建龙钢铁面试总结
Apr 15 面试题
UNIX文件名称有什么规定
Mar 25 面试题
J2EE的优越性主要表现在哪些方面
Mar 28 面试题
Ruby如何定义一个类
Oct 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的autoload机制的实现解析
2012/09/15 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
PHP登录验证码的实现与使用方法
2016/07/07 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
2017/03/08 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
用python 制作图片转pdf工具
2015/01/30 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
python中有帮助函数吗
2020/06/19 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
python实现简单文件读写函数
2021/02/25 Python
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
管理专员自荐信
2014/01/26 职场文书
舞蹈教师自荐信
2014/01/27 职场文书
职工运动会邀请函
2014/02/02 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
岗位说明书标准范本
2014/07/30 职场文书
党员四风自我剖析材料
2014/10/07 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
南京大屠杀观后感
2015/06/02 职场文书
尼克胡哲观后感
2015/06/08 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书