100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 数据结构-链表(判断链表是否有环)

数据结构-链表(判断链表是否有环)

时间:2018-08-24 11:25:43

相关推荐

数据结构-链表(判断链表是否有环)

如何判断链表是否有环

方法1:采用快慢指针

/***************************** 函数名称:JudgmentLinkRing_1(PtrList list)* 功能描述:判断链表是否有环* 传入参数:PtrList list 待判断的链表* 返回值: true 有环*false 无环 * 方法:比较快慢指针***************************/bool JudgmentLinkRing_1(PtrList list){PtrList p1,p2;p1 = p2 = list;while(p1->next != NULL && p2->next->next != NULL){p1 =p1 -> next;p2 = p2 -> next ->next;if(p1 == p2){return true;}}return false;}

方法2:采用比较步数是否相等

/***************************** 函数名称:JudmentLinkRing_2(PtrList list)* 功能描述:判断链表是否有环* 传入参数:PtrList list 待判断的链表* 返回值: true 有环*false 无环 * 方法:比较步数***************************/bool JudmentLinkRing_2(PtrList list){PtrList p1 = list;int num1 = 0,num2 = 0;PtrList p2 = list;while(p1){while(p2){if(p1 == p2){if(num1 == num2){break;}else{return true;}}p2 = p2 -> next;num2++;}p1 = p1 -> next;num1++;}return false;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。