elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ayuda a encolar Nodos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda a encolar Nodos  (Leído 2,227 veces)
Ghio97

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Ayuda a encolar Nodos
« en: 18 Noviembre 2019, 19:06 pm »

Hola tengo un problema al encolar mis nodos, solo encola al primero y despues nada.
Trato de realizar un metodo de amplitud por lo que la insercion es desde otra clase
inserto desde la clase Arbol para poder utilizarlos para diferentes metodos
Código:
public void insertar(String i) {
Cola p=new Cola();
Nodo n=new Nodo(i);

if(raiz==null) {
raiz=n;
p.encolar(n);
}else {
Nodo aux=raiz;
p.encolar(aux);
while(aux!=null) {
n.padre=aux;


if(n.llave.compareTo(aux.llave)>0) {
aux=aux.der;
}else {
aux=aux.izq;
}
}
if(n.llave.compareTo(n.padre.llave)<0) {
n.padre.izq=n;
}else {
n.padre.der=n;
}
}

}

Aqui voy encolando lo que inserte arriba
Código:
public void encolar(Nodo n) {
Nodo nuevo=new Nodo(n.llave);
if (cabeza==null) {
cabeza=nuevo;
ultimo=nuevo;
}else {
ultimo.siguiente=nuevo;
ultimo=nuevo;
}

}

Y todo deberia aparecer en cuando utilizo el metodo de recorrerAmp

Código:
public void recorrerAmp(Nodo n) {
Cola cola,colaux;
Nodo aux;

if (n != null) //SI EL ÁRBOL CONTIENE NODOS...
{
cola=new Cola(); //SE INSTANCIA EL OBJETO COLA
colaux=new Cola(); //SE INSTANCIA EL OBJETO COLAAUX
cola.encolar(n); //SE INSERTA EL NODOARBOL "A" (RAIZ) COMO PRIMER NODO EN LA COLA
while (cola.colavacia()!=1) //MIENTRAS HAYAN ELEMENTOS EN LA COLA...
{
colaux.encolar(aux=cola.eliminar()); /*EL ELEMENTO EXTRAIDO DE LA COLA PRINCIPAL ES ASIGNADO
A AUX Y A SU VEZ INSERTADO EN LA COLA AUXILIAR*/

if (aux.izq != null) //SI EL HIJO IZQUIERDO DEL NODO ACTUAL EXISTE
{
cola.encolar(aux.izq); //SE INSERTA ESE HIJO COMO ELEMENTO SIGUIENTE EN LA COLA
}
if (aux.der!= null) //SI EL HIJO DERECHO DEL NODO ACTUAL EXISTE
{
cola.encolar(aux.der); //SE INSERTA ESE HIJO COMO ELEMENTO SIGUIENTE EN LA COLA
}
}
colaux.imprimir(); //POR ÚLTIMO SE IMPRIME LA COLA AUXILIAR
}
else {
System.out.println("No existen elementos para realizar el recorrido por Amplitud");
}
}

Pero solo aparece el primer nodo insertado y despues nada, es como si despues del primer nodo no encolara nada




En línea

Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Re: Ayuda a encolar Nodos
« Respuesta #1 en: 19 Noviembre 2019, 05:59 am »

Prueba con esto bb

 
Código
  1. public class Nodo {
  2.  
  3.    char dato;
  4.    Nodo sig;
  5.  
  6. }
}
}

Código
  1. public class Pila {
  2.  
  3.    private Nodo ultimo;
  4.  
  5.    public Pila() {
  6.        ultimo = null;
  7.    }
  8.  
  9.    public void insertar(char valor) {
  10.  
  11.        Nodo nuevo = new Nodo();
  12.        nuevo.dato = valor;
  13.  
  14.        if (ultimo == null) {
  15.            ultimo = nuevo;
  16.        } else {
  17.            nuevo.sig = ultimo;
  18.            ultimo = nuevo;
  19.        }
  20.    }
  21.  
  22.    public char popStack() {
  23.  
  24.        char extraido;
  25.  
  26.        if (ultimo != null) {
  27.            extraido = ultimo.dato;
  28.            ultimo = ultimo.sig;
  29.        } else {
  30.            extraido = Character.MAX_VALUE;
  31.        }
  32.        return extraido;
  33.    }
  34.  
  35.    public boolean emptyStack() {
  36.        return ultimo == null;
  37.    }
  38.  
  39. }

 ;-)


En línea

7w7
Ghio97

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Ayuda a encolar Nodos
« Respuesta #2 en: 20 Noviembre 2019, 02:43 am »

 ;D ;D
Gracias :3
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con ramas de jtree, alargar lineas de nodos
Java
EdD_ 1 4,118 Último mensaje 9 Febrero 2011, 19:05 pm
por wilfo
[AYUDA] Punteros y Nodos!!!!
Programación C/C++
dixson 5 6,449 Último mensaje 25 Enero 2011, 00:47 am
por negux
arboles binarios ayuda con eliminacion de nodos
Programación C/C++
landerzx 2 3,909 Último mensaje 14 Noviembre 2011, 16:18 pm
por landerzx
Nodos y punteros, ayuda C++
Programación C/C++
freakfreckles 2 2,735 Último mensaje 10 Diciembre 2014, 17:14 pm
por freakfreckles
Ayuda con nodos
Programación C/C++
robertoesimez 1 1,660 Último mensaje 6 Marzo 2017, 00:31 am
por integeroverflow
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines