summaryrefslogtreecommitdiff
path: root/tree/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tree/src/main.cpp')
-rw-r--r--tree/src/main.cpp72
1 files changed, 54 insertions, 18 deletions
diff --git a/tree/src/main.cpp b/tree/src/main.cpp
index 10534f3..55709ff 100644
--- a/tree/src/main.cpp
+++ b/tree/src/main.cpp
@@ -4,6 +4,7 @@
* Created on: Jan 25, 2017
* Author: jonas
*/
+
#include <iostream>
#include <string>
#include <sstream>
@@ -13,53 +14,73 @@ using namespace std;
cTree* a;
-void fill()
-{
- for (char b = ' '; b <= '~'; b++) //insert some data into tree
- {
- for(char c = ' '; c<= '~'; c++)
- {
- stringstream ss;
- ss << b;
- ss << c;
-
- a->insert(ss.str());
- }
- }
-}
+void fill(void);
int main (void)
{
a = new cTree();
+ int i;
int iInputOption;
+ string s;
+
+ cout << endl;
+ cout << "| |" << endl;
+ cout << "| |_ _ __ ___ ___ " << endl;
+ cout << "| __| '__/ _ \\/ _ \\" << endl;
+ cout << "| |_| | | __/ __/" << endl;
+ cout << " \\__|_| \\___|\\___|" << endl << endl;
+
while (1)
{
+ cout << "===========================\n";
cout << "[1] Fill with Data\n";
cout << "[2] Clear\n";
cout << "[3] Balance\n";
cout << "[4] Draw\n";
cout << "[5] Info\n";
+ cout << "[6] Insert\n";
+ cout << "[7] Remove\n";
+ cout << "[8] Get by Inorder ID\n";
+ cout << "[0] Exit\n";
cout << "> ";
cin >> iInputOption;
switch(iInputOption)
{
- case 1:
+ case 1: //fill
cout << "Filling with Data.....";
fill();
cout << "OK\n";
break;
- case 2:
+ case 2: //clear
a->clear();
break;
- case 3:
+ case 3: //balance
a->sort();
break;
- case 4:
+ case 4: //draw
a->draw();
break;
+ case 5: //Info
+ cout << "Size: " << a->size() << ", Depth: " << a->depth() << ", Unbalance: " << a->gradeOfUnbalance() << endl << endl;
+ break;
+ case 6: //Insert
+ cout << "Insert: ";
+ cin >> s;
+ a->insert(s);
+ break;
+ case 7: //Remove
+ cout << "ID to remove: ";
+ cin >> i;
+ a->remove((*a)[i]);
+ break;
+ case 8: //get by ID
+ cout << "ID to get: ";
+ cin >> i;
+ cout << i << ": " << (*a)[i]->getData() << endl;
+ break;
default:
cout << "Unrecognized Command\n";
break;
@@ -70,5 +91,20 @@ int main (void)
return 0;
}
+void fill(void)
+{
+ for (char b = ' '; b <= '~'; b++) //insert some data into tree
+ {
+ for(char c = ' '; c<= '~'; c++)
+ {
+ stringstream ss;
+ ss << b;
+ ss << c;
+
+ a->insert(ss.str());
+ }
+ }
+}
+