No pude editar el mensaje original, por lo tanto sigo por aquí.
No había puesto el código que hice porque no ayuda en nada, no hace lo que tiene que hacer por lo tanto no logre nada con el.
Dejo un ejemplo para ver si queda mas claro lo que necesito. Este es un ejemplo de un arbol general o n-ario que tengo:
1
2 7 8
3 6 9 12
4 5 10 11
Lo que tendría que imprimir seria:
1
2 7 8
3 6 4 5 9 12
10 11
El problema esta cuando tengo que imprimir nodos que están en un mismo nivel pero son hijos de padres distintos. Ahí se me complica ya que tendría que saltar de una rama a otra para seguir imprimiendo.
Una idea bastante general de lo que venia haciendo es la siguiente:
void muestroNiveles(nodo *raiz){
nodo *aux = raiz;
if(raiz != NULL){
cout<<aux->dato;
muestroNiveles(aux->siguienteHermano);
cout<<end; //Esto seria para imprimir el espacio cuando cambio de nivel
muestroNiveles(aux->primerHijo);
}
}
No había puesto el código que hice porque no ayuda en nada, no hace lo que tiene que hacer por lo tanto no logre nada con el.
Dejo un ejemplo para ver si queda mas claro lo que necesito. Este es un ejemplo de un arbol general o n-ario que tengo:
1
2 7 8
3 6 9 12
4 5 10 11
Lo que tendría que imprimir seria:
1
2 7 8
3 6 4 5 9 12
10 11
El problema esta cuando tengo que imprimir nodos que están en un mismo nivel pero son hijos de padres distintos. Ahí se me complica ya que tendría que saltar de una rama a otra para seguir imprimiendo.
Una idea bastante general de lo que venia haciendo es la siguiente:
void muestroNiveles(nodo *raiz){
nodo *aux = raiz;
if(raiz != NULL){
cout<<aux->dato;
muestroNiveles(aux->siguienteHermano);
cout<<end; //Esto seria para imprimir el espacio cuando cambio de nivel
muestroNiveles(aux->primerHijo);
}
}