首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
判断单链表中是否存在环(网上说的笔试题)
判断单链表中是否存在环(网上说的笔试题)
admin
2019-03-29
58
问题
判断单链表中是否存在环(网上说的笔试题)
选项
答案
#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<’A’+n; 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)); return getchar(); }
解析
转载请注明原文地址:https://kaotiyun.com/show/sRmZ777K
0
程序员面试
相关试题推荐
[A]Forcrowdfundingtowork,theprojectneedstocapturethepublicimagination.Andnotallacademicsarecomfortablewithse
把D:下的图片文件夹进行网络共享但是其他网络用户只能读取。
邮件的删除。
从“系统属性”出发安装网卡驱动程序。
设置"考试"文件夹为"只读",并同时应用于所有子文件夹和文件。
在C盘上搜索第二个字符为e的文件和文件夹。
将C盘“职称考试”文件夹中的“试题.XLS”的属性设置为只读。
利用快捷菜单将桌面上的图标按“类型”排列。
在Excel中,函数ABS(ROUND(-1.478,2))的计算结果是()。A.-1.478B.1.48C.-1.48D.1.5
要清除磁盘中一些分散的、不连续的扇区空间以提高磁盘的读写速度,应使用WindowsXP系统工具中的()。
随机试题
HowdoyouphilosophicallydefineTranscendentalism?
在内容和形式的矛盾运动中
WELL—dotheyordon’tthey?Foryears,controversyhasragedoverwhethertheelectromagneticfieldsproducedbypowerlinescou
确定乳腺叶状肿瘤的良恶性指标,应除外
工程建设强制性标准的监督检查方式有( )。
某企业纳税地点在县城、镇,该企业的税金为()。
子女对父母的赡养扶助义务,既包括承担、提供父母必要的生活费用和赡养费用,也包括在精神上给予父母必要的慰藉。()
1,3,6,12,27,()
A、 B、 C、 D、 A左边五幅图均为规则且左右对称的图形,故A为正确选项。
不是计算机病毒预防的方法是
最新回复
(
0
)