Salve, non riesco a capire perchè va in segmentation fault, l'algoritmo ins è corretto perchè l'ho preso dal prof..
#include<iostream>
using namespace std;
template <class T>
struct nodo
{
T val;
nodo<T>* left;
nodo<T>* right;
nodo<T>* padre;
int mul;
};
template <class H>
class MultiBST
{
public:
//virtual MultiBST<H>* ins(H x)=0;
//virtual int multiplicity(H x)=0;
//virtual void inorder()=0;
};
template <class H>
class MyMultiBST : public MultiBST<H>
{
private:
nodo<H>* radice;
public:
MyMultiBST()
{
radice=NULL;
}
void ins(H valore)
{
nodo<H>* nuovo= new nodo<H>;
nodo<H>* x=radice, *y=NULL;
nuovo->val=valore;
nuovo->left=nuovo->right=NULL;
while(x!=NULL) {
y=x;
if (valore < x->val) x=x->left;
else x=x->right;
}
nuovo->padre=y;
if (y==NULL) radice=nuovo;
else if (valore < y->val) y->left=nuovo;
else y->right=nuovo;
}
/* void inorder(nodo<H>* p)
{
inorder(p->left);
cout<<p->val;
inorder(p->right);
}*/
};
int main()
{
MyMultiBST<int>* albero;
albero->ins(1);
}