#include #include using namespace std; template class simplePtrTree { ItemType data; simplePtrTree *left, *right; public: simplePtrTree(ItemType i): data(i), left(nullptr), right(nullptr) {}; ~simplePtrTree(); ItemType getData() { return data; } simplePtrTree *getLeft(); simplePtrTree *getRight(); // altri metodi della classe non sono dichiarati nè implementati perchè // non richiesti per lo svolgimento dell'esercizio // }; // POSSIBILE IMPLEMENTAZIONE DELLA FUNZIONE EQUALS RICHIESTA. APPROCCIO ITERATIVO // template bool samePre(simplePtrTree *T1, simplePtrTree *T2) { if(T1==nullptr && T2==nullptr) return true; if(T1==nullptr || T2==nullptr) return false; if(T1->getData()!=T2->getData()) return false; return samePre(T1->getLeft(),T2->getLeft()) && samePre(T1->getRight(), T2->getRight()); }