本文整理汇总了C++中tree_t::splice方法的典型用法代码示例。如果您正苦于以下问题:C++ tree_t::splice方法的具体用法?C++ tree_t::splice怎么用?C++ tree_t::splice使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tree_t
的用法示例。
在下文中一共展示了tree_t::splice方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mirror
//---:---<*>---:---<*>---:---<*>---:---<*>---:---<*>---:---<*>---:
void mirror(tree_t &T,node_t n) {
list< tree<int> > L;
node_t c = n.lchild();
if (c==T.end()) return;
while (c!=T.end()) {
printf("passing to list subtree rooted at %d\n",*c);
L.insert(L.begin(),tree_t());
tree_t &Q = *L.begin();
T.splice(Q.begin(),c);
#if 0
cout << "T: \n";
T.lisp_print();
cout << "\nQ: \n";
Q.lisp_print();
cout << endl;
#endif
mirror(Q);
c = n.lchild();
}
c = n.lchild();
while (!L.empty()) {
tree_t &Q = *L.begin();
printf("passing to tree subtree rooted at %d\n",*Q.begin());
c = T.splice(c,Q.begin());
c++;
L.erase(L.begin());
}
}