Qualcuno potrebbe gentilmente aiutarmi a chiarire dei dubbi,sul comportamento di queste due funzioni.Sicuramente omettendo l'else il return finale viene eseguito sempre,ma non riesco a capire bene come si comporta la funzione,nel caso in cui entra nell'if precedente dove n<radice.In quel caso chiama la funzione con i nuovi paramatri e poi esegue l'ultimo return??
diverso da ..codice:Node* findNode(InfoType n,Node* tree){ if(!tree) return 0; //albero vuoto if(n==tree->label)return tree; //n==radice if(n<tree->label) return findNode(n,tree->left); //n<radice return findNode(n,tree->right); //n>radice }
grazie!!codice:Node* findNode(InfoType n,Node* tree){ if(!tree) return 0; //albero vuoto if(n==tree->label)return tree; //n==radice if(n<tree->label) {return findNode(n,tree->left);} //n<radice else{ return findNode(n,tree->right); } //n>radice }![]()

Rispondi quotando
