Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - chinolaya

#1
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);
   }
}
#2
Hola a todos. Soy nuevo por el foro y este es mi primer mensaje.

Tengo problemas para lograr escribir el siguiente algoritmo.
Necesito un algoritmo que me liste o imprima los nodos por niveles de un árbol n-ario, finitario o general (lo he encontrado con cualquiera de los tres nombres por internet).

La estructura del árbol es la siguiente:

struct nodo{
   int dato;
   nodo * primerHijo;
   nodo * siguientehermano;
};


Cualquier tipo de ayuda sera bienvenida.

Gracias.