All pastes #182804 Raw Edit

Anonymous

public text v1 · immutable
#182804 ·published 2006-09-26 11:24 UTC
rendered paste body
/**
 * Binary Search Tree class
 *
 * * Each node in the class has a value
 * * The left subtree of a node contains only values less than the node's value.
 * * The right subtree of a node contains only values greater than the node's value.
 * * Left subtree and right subtree are both binary search trees.a
 * * A total order is defined on these values (pre, in or post order)
 *
 **
 */

using namespace std;
typedef class BinarySearchTree * tree;

class BinarySearchTree
{
	private:
		int key;
		int pos;	//Number of nodes visited before N in inorder travesel of bst.
		int depth;	//Depth of N in the tree.
		BinarySearchTree *left;
		BinarySearchTree *right;

	public:
		BinarySearchTree();		//Pre : none
						//Post: an empty bst is created

		BinarySearchTree(int k);	//Pre : k<=100
						//Post: A binary search tree with
						//key = k, left = NULL and right
						//= NULL is created.

		void display(tree t);

		void insert(int k, tree &t, int depth);
						//Pre : k<=100
						//Post: new bst is created for k
						//and then inserted into t
						//in correct position.

		int getKey();			//Pre : none
						//Post: returns key of bst

		int getPos();			//Pre : none
						//Post: returns pos of bst

		int getDepth();			//Pre : none
						//Post: returns depth of bst

		void setPos(int p);		//Pre : 
						//Post: sets pos in bst
		
		void setDepth(int d);		//Pre : 
						//Post: sets depth in bst
	
};