volevo fare un albero di puntatori a void. ora, l'inserimento va, cioè nn da errori, ma secondo me nn salva nulla, la stampa invece nn so come implementarla..
codice:tree.h #ifndef TREE_H #define TREE_H struct nodo; typedef nodo * tree; typedef void * elemento ; struct nodo{ elemento item; tree left; tree right; }; void init(tree & ); int inserisci(tree &,elemento ); void stampa(tree ); #endifcodice:tree.cpp using namespace std; #include <iostream> #include "tree.h" void init(tree & t){ t = NULL; } int inserisci(tree & t,elemento it){ elemento e; if (t==NULL){ t=new nodo; if (t==NULL) return 0; } else { if (t->item==NULL) { e = new elemento; if (e==NULL) return 0; e=it; t->item=e; t->left=NULL; t->right=NULL; } else if (it>t->item) return inserisci (t->right,it); else return inserisci (t->left,it); } } void stampa(tree t){ if (t!=NULL){ stampa(t->left); cout << (int)t->item << endl; stampa(t->right); } }codice:main.cpp using namespace std; #include <iostream> #include "tree.h" int main(){ tree t; int ele; init(t); ele=100; inserisci(t,&ele); stampa(t); return 1; }

Rispondi quotando