本文整理汇总了C++中Tree::Add方法的典型用法代码示例。如果您正苦于以下问题:C++ Tree::Add方法的具体用法?C++ Tree::Add怎么用?C++ Tree::Add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tree
的用法示例。
在下文中一共展示了Tree::Add方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddRegion
bool AddRegion(FreeRegion region) {
while (!addressedTree.Add(AddressedRegion(region))) {
if (!failureHandler(this)) {
return false;
}
}
while (!sizedTree.Add(SizedRegion(region))) {
if (!failureHandler(this)) {
// Avoid having inconsistent trees (although the region will leak).
addressedTree.Remove(AddressedRegion(region));
return false;
}
}
return true;
}
示例2: _tmain
int _tmain(int argc, _TCHAR* argv[])
{
Tree<int>* tr = new Tree<int>();
tr->Add(123, "abcdef");
tr->Add(456, "abde");
tr->Add(789, "aaaa");
tr->Add(145, "a");
tr->Add(464, "ab");
tr->Print("Tree");
cout << endl;
tr->Add(444, "a");
cout << endl;
tr->Find("abde");
cout << endl;
tr->Delete("abde");
tr->Print("After deleting record (key - abde)");
getchar();
return 0;
}
示例3: main
int main()
{
Tree<int> tree;
int n = 0;
cin >> n;
int value = 0;
for(int i = 0; i < n; i++) {
cin >> value;
tree.Add(value);
}
tree.inOrderPrint();
//cout << tree.Height();
return 0;
}
示例4: menu
void menu()
{
Tree *tree = new Tree;
char c;
do
{
printf("1: View\n");
printf("2: Find\n");
printf("3: Add\n");
printf("4: Del\n");
printf("5: Clear\n");
printf("\nEsc: Exit\n");
c = getch();
switch(c)
{
case '1':
cout << "Print:";
tree->Print();
cout << endl; break;
case '2':
cout << "Find:";
int val;
cin >> val;
bool flag;
flag = tree->Exists(val);
cout << (flag == true ? "true" : "false") << endl; break;
case '3':
cout << "Add:";
int add;
cin >> add;
tree->Add(add); cout << endl; break;
case '4':
cout << "Delete:";
int del;
cin >> del;
tree->Delete(del); cout << endl; break;
case '5': tree->Clear(); cout << endl; break;
}
} while(c != 27);
delete tree;
}
示例5: main
int main()
{
Tree<int> tree;
tree.Add(987,12);
tree.Add(665,5);
tree.Add(714,3);
tree.Add(215,10);
tree.Add(890,7);
tree.Add(531,11);
tree.Add(920,6);
tree.Add(110,9);
cout << "Tree height : " << tree.GetHeight() << endl
<< "There are " << tree.GetNodesOnLevel(2) << " nodes on 3rd level." << endl;
cout << "Tree element with key " << 7 << " is: " << endl;
tree.PrintInfo(7);
_getch();
return 0;
}
示例6: main
int main(){
Tree t;
(t.Root) = new node;
t.Root->value=8;
t.Root->parent = t.Root;
//Initialize Full Tree
t.Add(8);
t.New(4,*((t.Root)),0);
t.New(2,(*(t.Root)->L),0);
t.New(6,(*(t.Root)->L),1);
t.New(12,*((t.Root)),1);
t.New(10,(*(t.Root)->R),0);
t.New(14,(*(t.Root)->R),1);
t.New(1,(*(t.Root)->L->L),0);
t.New(3,(*(t.Root)->L->L),1);
t.New(5,(*(t.Root)->L->R),0);
t.New(7,(*(t.Root)->L->R),1);
t.New(9,(*(t.Root)->R->L),0);
t.New(11,(*(t.Root)->R->L),1);
t.New(13,(*(t.Root)->R->R),0);
t.New(15,(*(t.Root)->R->R),1);
cout<<"\n# Original Tree :"<< endl;
t.DisplayTree();
avg_num=0;
avg_total=0;
//Search Operations
for (int i=15;i>0;i--){
t.Search(i);
}
int avg_total1 = avg_total;
int avg_num1 = avg_num;
avg_total=0;
avg_num=0;
//Delete Operations
t.Delete(15);
t.Delete(14);
t.Delete(4);
t.Delete(5);
t.Delete(1);
cout<<"\nAverage Rotations for Search Operation:"<<(float)avg_total1/avg_num1;
cout<<"\nAverage Rotations for Delete Operation:"<<(float)avg_total/avg_num;
// int a;
// cout<< "Root :";
// t.DisplayNode( *(t.Root));
// node* m =(t.Root);
// while(1){
// cout<<endl<<"Enter Selection :";
// cin>>a;
// if(a==1){
// cout<<"Add :";
// cin>>a;
// t.Add(a);
// m =(t.Root);
// }
// else if(a==2){//Delete
// cout<<"Delete :";
// cin>>a;
// t.Delete(a);
// m =(t.Root);
// }
// else if(a==3){//Current
// t.DisplayNode(*m);
// }
// else if(a==4){//Root
// cout<<"Root :";
// t.DisplayNode( *(t.Root));
// }
// else if(a==5){//Left
// m=(*m).L;
// t.DisplayNode( *(m));
// }
// else if(a==6){//Right
// m=(*m).R;
// t.DisplayNode( *(m));
// }
// else if(a==7){//Up
// m=(*m).parent;
// t.DisplayNode( *(m));
// }
//
//
// }
}