예제 #1
0
파일: bst_test.cpp 프로젝트: deanmarc25/bst
int main()
{
	BST bst;
	
	if(bst.Empty())
		cout << "BST::Empty() works" << endl;
	else
		cout << "BST::Empty() doesn't work" << endl;
		
	bst.Insert(0);
	
	if(!bst.Empty())
		cout << "BST::Empty() works" << endl;
	else
		cout << "BST::Empty() doesn't work" << endl;
		
	if(bst.Delete(0))
		cout << "BST::Delete(const int) works" << endl;
	else
		cout << "BST::Delete(const int) doesn't work" << endl;
		
	if(!bst.Delete(-1))
		cout << "BST::Delete(const int) works" << endl;
	else
		cout << "BST::Delete(const int) doesn't work" << endl;
	
	for(int i = 0; i < 10; i++)
		bst.Insert(i);
		
	cout << bst.Min() << endl;
	cout << bst.Max() << endl;
	
	if(bst.SearchIter(0) && !bst.SearchIter(10))
		cout << "BST::SearchIter(const int) works" << endl;
	else
		cout << "BST::SearchIter(const int) doesn't work" << endl;
		
	if(bst.SearchRec(0) && !bst.SearchRec(10))
		cout << "BST::SearchRec(const int) works" << endl;
	else
		cout << "BST::SearchRec(const int) doesn't work" << endl;
		
	bst.Clear();
	
	if(bst.Empty())
		cout << "BST::Empty() works" << endl;
	else
		cout << "BST::Empty() doesn't work" << endl;

	return 0;

} // end main()
예제 #2
0
int main()
{
  int option,num;
  int *pntr,*pn;
  BST<int> obj;
  do
  {
    cout<<"Menu:\n";
    cout<<"1.Insert an element\n";
    cout<<"2.Delete an element\n3.Search for an element\n";
    cout<<"4.Inorder Succ\n5.InOrderPred\n6.Max\n7.Min\n";
    cout<<"8.Print Inorder\n9.Print Post Order\n10.Print Preorder\n";
    cout<<"11.Height\n12.Exit\nEnter your choice(1-7)\n";
    cin>>option;
    switch(option)
    {
      case 1:cout<<"Enter\n";
             cin>>num;
             pntr=new int;
             *pntr=num;
             pn=obj.insert(pntr);
             if(pn==NULL)
               cout<<"Insertion Unsuccessfull\n";
             break;
      /*case 2:cout<<"enter\n";
             cin>>num;
             pntr=new int;
             *pntr=num;
             obj.Delete(pntr);
             break;*/
      case 3:cout<<"enter\n";
             cin>>num;
             pntr=new int;
             *pntr=num;
             pn=obj.search(pntr);
             if(pn==NULL)
               cout<<"Element not found\n";
             else
               cout<<"Element present in the bst\n";
             break;
      case 4:cout<<"Inorder Succ\n";
             cout<<"Enter\n";
             cin>>num;
             pntr=new int;
             *pntr=num;
             pn=obj.InOrderSucc(pntr);
             if(pn!=NULL)
              cout<<*pn<<"\n";
             break;
      case 5:cout<<"Inorder Pred\n";
             cout<<"Enter\n";
             cin>>num;
             pntr=new int;
             *pntr=num;
             pn=obj.InOrderPred(pntr);
             if(pn!=NULL)
              cout<<*pn<<"\n";
             break;
      case 6:pntr=obj.Max();
             cout<<*pntr<<"\n";
             break;
      case 7:pntr=obj.Min();
             cout<<*pntr<<"\n";
             break;
      case 8:cout<<"Inorder\n";
             num=obj.PrintInOrder();
             break;
      case 9:cout<<"PostOrder\n";
             num=obj.PrintPostOrder();
             break;
      case 10:cout<<"Preorder\n";
             num=obj.PrintPreOrder();
             break;
      case 11:num=obj.Height();
              if(num!=-1)
                cout<<num<<"\n";
              break;
     default:cout<<"Exiting\n";
             
    }
  }while(option!=12);
 
  return 0;
}