本文整理汇总了C++中tree::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ tree::clear方法的具体用法?C++ tree::clear怎么用?C++ tree::clear使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tree
的用法示例。
在下文中一共展示了tree::clear方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void lisp2tree(tree<int> &A,const string &s) {
list<int> L;
int EP = INT_MAX, BP=INT_MAX-1;
const char *p = s.c_str();
char num[100];
while (true) {
if (*p == '\0') break;
else if (*p == '(') {
L.push_back(BP);
p++;
} else if (*p == ')') {
L.push_back(EP);
p++;
} else if (*p == ' ') p++;
else if (*p>='0' && *p<='9') {
char *pn=num;
*pn=*p;
while (*p>='0' && *p<='9') {
*pn++ = *p++;
}
*++pn='\0';
int n = atoi(num);
L.push_back(n);
} else p++;
}
// list<int>::iterator q = L.begin();
// while (q!=L.end()) cout << *q++ << " ";
// cout << endl;
A.clear();
list2tree(A,L,BP,EP);
}
示例2: main
int main(){
scanf("%d",&T);
for(int CA = 1; CA <= T ; CA++)
{
mp.clear();
spt.init();
printf("Case %d:\n",CA);
scanf("%d %d",&n,&q);
for(int i= 1;i <= q;i ++)
{
scanf("%s %d",str,&tmp);
if(str[0] == 'T'){
spt.insert(tmp,i);
mp[i] = tmp ;
}else if(str[0] == 'Q'){
pair<int ,int > tt = spt.find(tmp);
if(tt.first != -1 )
printf("%ld\n",mp.order_of_key(tt.first) + 1);
else{
printf("%ld\n",mp.size()-tt.second + tmp);
}
}else{
if(tmp <= mp.size()){
printf("%d\n",mp.find_by_order(tmp-1)->second);
}else{
printf("%d\n",spt.findrank(tmp));
}
}
}
}
return 0;
}
示例3: WeaveNet
void WeaveNet(SQcont<T> const &incont, tree<T> &outnet)
{
outnet.clear();
auto top(outnet.begin());
auto now(outnet.insert(top, *incont.cbegin()));
for(auto c = incont.cbegin()+1;c != incont.cend();++c)
now = outnet.append_child(now, *c);
}
示例4: WeaveNets
void WeaveNets(SQcont<SQcont<T> > &incont, tree<T> &outnet)
{
outnet.clear();
auto top(outnet.begin());
for(auto c = incont.begin();c != incont.end();++c){
if(c->size()){
auto now(outnet.insert(top, c->at(0)));
for(size_t num = 1;num < c->size();++num)
now = outnet.append_child(now, c->at(num));
} // End if
} // End c
}
示例5: main
int main(){
int n,m;
while(~scanf("%d",&n)){
int sg=0;
p.clear();m=0;
for(int i=0,v;i<n;i++) {
scanf("%d",&v);
if(v==-1) node[m++]=i;
else p.addadge(i,v);
}
for(int i=0;i<m;i++)sg ^= p.dfs(node[i]);
printf("%s\n",sg?"YES":"NO");
}
return 0;
}
示例6: split_down
//---:---<*>---:---<*>---:---<*>---:---<*>---:---<*>
// Wrapper
void split_down(tree<int> &T,int M,int n,int g) {
T.clear();
T.insert(T.begin(),M);
split_down(T,T.begin(),n,g);
}