Source of test_bst2.cpp


  1: /** @file test_bst2.cpp
  2: Test driver for the BinarySearchTree template class.
  3: Contains, in addition to the default constructor, insert and display
  4: member functions and their respective "helper functions".
  5: @version 2.0
  6: */

  8: #include <iostream>
  9: using namespace std;

 11: //Global variable used as a switch for tracing purposes.
 12: bool tracingOn = false;

 14: #include "utilities.h"
 15: using Scobey::Pause;
 16: using Scobey::userSaysYes;

 18: //Keyword "export" not yet supported.
 19: //Therefore separate compilation not possible.
 20: #include "bst2.h"
 21: #include "bst2.cpp"

 23: int main()
 24: {
 25:     Pause(0, "\nThis is a very short demonstration program for "
 26:              "binary search trees.");
 27:     tracingOn = userSaysYes("Want to see construction details?");

 29:     vector<char> v_c;
 30:     cout << "\nEnter characters to put into a BST:\n";
 31:     char ch;
 32:     while (cin.peek() != '\n')
 33:     {
 34:         cin >> ch;
 35:         v_c.push_back(ch);
 36:     }
 37:     cin.ignore(80, '\n');

 39:     BinarySearchTree<char> bst_c;
 40:     for (vector<char>::size_type i=0; i<v_c.size(); i++)
 41:     {
 42:         if (tracingOn) cout << "Searching for a place to put " 
 43:             << v_c.at(i) << " ...\n";
 44:         bst_c.insert(v_c.at(i));
 45:     }
 46:     cout << "\nHere are the tree contents in ascending order:\n";
 47:     bst_c.display(cout);
 48:     Pause(0, "\n");


 51:     vector<int> v_i;
 52:     cout << "\nEnter integers to place in a BST:\n";
 53:     int k;
 54:     while (cin.peek() != '\n')
 55:     {
 56:         cin >> k;
 57:         v_i.push_back(k);
 58:     }
 59:     cin.ignore(80, '\n');

 61:     BinarySearchTree<int> bst_i;
 62:     for (vector<int>::size_type j=0; j<v_i.size(); j++)
 63:     {
 64:         if (tracingOn) cout << "Searching for a place to put " 
 65:             << v_i.at(j) << " ...\n";
 66:         bst_i.insert(v_i.at(j));
 67:     }
 68:     cout << "\nHere are the tree contents in ascending order:\n";
 69:     bst_i.display(cout);
 70:     Pause(0, "\n");
 71: }