adding cs235
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
//YOU MAY NOT MODIFY THIS DOCUMENT
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include "RedBlackNodeInterface.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
class RedBlackTreeInterface {
|
||||
public:
|
||||
RedBlackTreeInterface() {}
|
||||
virtual ~RedBlackTreeInterface() {}
|
||||
|
||||
//Please note that the class that implements this interface must be made
|
||||
//of objects which implement the NodeInterface
|
||||
|
||||
/*
|
||||
* Returns the root node for this tree
|
||||
*
|
||||
* @return the root node for this tree.
|
||||
*/
|
||||
virtual RedBlackNodeInterface * getRootNode() = 0;
|
||||
|
||||
/*
|
||||
* Attempts to add the given word to the tree
|
||||
*
|
||||
* Addition should be consistent with the instructions found in the exam instructions.
|
||||
*/
|
||||
virtual void add(string word) = 0;
|
||||
|
||||
/*
|
||||
* Attempts to add the given string of words to the tree
|
||||
*
|
||||
* A string of words consists of alphabetical characters, no punctuation marks,
|
||||
* and white space as the delimiter separating words. The string should be parsed and
|
||||
* each word should be added to the tree.
|
||||
*/
|
||||
virtual void addPhrase(string words) = 0;
|
||||
|
||||
/*
|
||||
* Attempts to remove the given word from the tree
|
||||
*
|
||||
* Removal should be consistent with the instructions found in the exam instructions.
|
||||
*/
|
||||
virtual void remove(string word) = 0;
|
||||
|
||||
/*
|
||||
* The tree should print in the following format:
|
||||
*
|
||||
* Root (value & color)
|
||||
* Left subtree root (value & color)
|
||||
* Left left subtree root (value & color)
|
||||
* Left right subtree root (value & color)
|
||||
* Right subtree root (value & color)
|
||||
* Right left subtree root (value & color)
|
||||
* Right right subtree root (value & color)
|
||||
*
|
||||
* For example:
|
||||
* The tree:
|
||||
*
|
||||
* jumps(b)
|
||||
* brown(r) quick(r)
|
||||
* The(b) fox(b) over(b) the(b)
|
||||
* lazy(r)
|
||||
*
|
||||
* Will print:
|
||||
* jumps(b)
|
||||
* brown(r)
|
||||
* The(b)
|
||||
* fox(b)
|
||||
* quick(r)
|
||||
* over(b)
|
||||
* lazy(r);
|
||||
* the(b)
|
||||
*
|
||||
*/
|
||||
virtual string printTree() = 0;
|
||||
};
|
||||
Reference in New Issue
Block a user