vector<Recurso*> Directorio::recorrer(Directorio* d) { vector<Recurso*> vct; for (int var = 0; var < d->getNRecursos(); ++var) { vct.push_back(d->getRecursos()[var]); if(typeid(recursos[var])==typeid(Directorio*)){ vector<Recurso*> innv = recorrer((Directorio*)recursos[var]); for (unsigned int var2 = 0; var2 < innv.size(); ++var2) { vct.push_back(innv[var2]); } } } return vct; }
void Tree::recorrer(Nodo* nodo) { cout << nodo->getNombre() << endl <<endl; if(nodo->getNumeroHijo() > 0) { Nodo* n = nodo->getHijo(); while(n != NULL) { recorrer(n); n = n->getSiguiente(); } } }
int main(void) { tNodoPolinomio *pol1,*pol2; pol1 = NULL; pol2 = NULL; crearPolinomio(&pol1); crearPolinomio(&pol2); printf("\nPolinomio 1 : "); recorrer(pol1); printf("\nPolinomio 2 : "); recorrer(pol2); printf("\nSuma de ambos : "); sumarPolinomios(&pol1,pol2); recorrer(pol1); liberar(pol1); liberar(pol2); return 0; }
vector<Recurso*> Directorio::recorrer() { return recorrer(this); }