36 lines
996 B
C++
Executable File
36 lines
996 B
C++
Executable File
/*************************************************
|
|
* ADS Praktikum 1.2
|
|
* Tree.h
|
|
* Erweiterung um Hilfsattribute und -funktionen gestattet, wenn erforderlich.
|
|
*************************************************/
|
|
#pragma once
|
|
#include "TreeNode.h"
|
|
#include "catch.h"
|
|
#include <string>
|
|
|
|
using namespace std;
|
|
|
|
class Tree {
|
|
private:
|
|
TreeNode* m_anker = nullptr;
|
|
int currentNodeChronologcalID = 0;
|
|
public:
|
|
Tree();
|
|
~Tree();
|
|
void addNode(std::string Name, int Age, double Income, int PostCode);
|
|
bool deleteNode(int NodeOrderID);
|
|
bool searchNode(std::string Name);
|
|
void printAll();
|
|
void printNode(TreeNode* node);
|
|
void printPreOrder(TreeNode* ptr);
|
|
void printPostOrder(TreeNode* ptr);
|
|
void printInOrder(TreeNode* ptr);
|
|
void printLevelOrder();
|
|
|
|
TreeNode* getAnker();
|
|
void setAnker(TreeNode* _anker);
|
|
// friend-Funktionen sind für die Tests erforderlich und müssen unangetastet
|
|
// bleiben!
|
|
friend TreeNode* get_anker(Tree& TN);
|
|
};
|