本文整理汇总了C++中SList::tail方法的典型用法代码示例。如果您正苦于以下问题:C++ SList::tail方法的具体用法?C++ SList::tail怎么用?C++ SList::tail使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SList
的用法示例。
在下文中一共展示了SList::tail方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CheckIntersect
bool CheckIntersect( SList &slist1, SList &slist2) {
SLNode *p1 = slist1.head(), *p2 = slist2.head();
if (!p1 || !p2) return false;
SLNode* cross1 = CheckCircle(slist1);
SLNode* cross2 = CheckCircle(slist2);
// both has no circle
if (!cross1 && !cross2) {
// method1: check tails
//while (p1->next) p1 = p1->next;
//while (p2->next) p2 = p2->next;
//return p1 == p2;
//method2: connect list1 head and tail, check circle
// circle cross point is intersect point
slist1.tail()->next = slist1.head();
cross2 = CheckCircle(slist2);
cout << "Intersect point " << cross2->val << endl;
if (cross2) return true;
} else if (cross1 && cross2){
// both has circle
p1 = slist1.head();
bool pass = false;
while (p1) {
p1 = p1->next;
if (p1 == cross2) return true;
if (p1 == cross1) {
if (pass) break;
pass = true;
}
}
}
return false;
}