Ad esempio in questa funzione che conta i nodi di un albero binario
Codice: Seleziona tutto
unsigned dim(nodo* &root) {
if (!root)
return 0;
else
return dim(root->sx)+dim(root->dx)+1;
}Grazie in anticipo
Codice: Seleziona tutto
unsigned dim(nodo* &root) {
if (!root)
return 0;
else
return dim(root->sx)+dim(root->dx)+1;
}Codice: Seleziona tutto
struct nodo{
string info;
nodo* sx;
nodo* dx;
};
void aggiungi(string &s, nodo* &al){
if (!al){
al=new nodo;
al->info=s;
al->sx=al->dx=NULL;
return;
}
if (s < al->info){
aggiungi (s, al->sx);
return;
}
if (s > al->info){
aggiungi (s, al->dx);
return;
}
}Si ma non ho capito perché ci deve essere @_@paper0k ha scritto: Ah ok, in questo caso è giusto, perchè passi il riferimento ad un puntatore che all'interno della struttura vai ad allocare, quindi è corretto... e ci deve essere
Codice: Seleziona tutto
nodo *aggiungi(string s) {
nodo *a1=new nodo;
...
return(nodo);
}
...
nodo *x=aggiungi(s);
Visualizzano questa sezione: Bing [Bot] e 2 ospiti