domingo, 21 de mayo de 2017

Codigo de Pilas


Clase Nodo


package PilasNodos;


public class Nodo {
    
    private Integer dato;
    private Nodo siguiente;

    public Nodo(Integer dato) {
        this.dato = dato;
        siguiente=null;
    }

    public Nodo(Integer dato, Nodo siguiente) {
        this.dato = dato;
        this.siguiente = siguiente;
    }

    public Integer getDato() {
        return dato;
    }

    public void setDato(Integer dato) {
        this.dato = dato;
    }

    public Nodo getSiguiente() {
        return siguiente;
    }

    public void setSiguiente(Nodo siguiente) {
        this.siguiente = siguiente;
    }
    
    
    
}

Clase Pila

package PilasNodos;

public class Pila {
    
    private Nodo inicio;

    public Pila() {
        inicio=null;
    }
    
    public void Push(Integer dato){
        Nodo nuevo =new Nodo(dato);
        
        if(inicio==null){
            
            inicio=nuevo;
        }           
        else{
            nuevo.setSiguiente(nuevo);
            inicio=nuevo;
        }
        System.out.println("El inicio: " + nuevo.getDato());
    }
    
    public Integer Pop(){
        
        Nodo aux=inicio;
        inicio=inicio.getSiguiente();
        aux.setSiguiente(null);
        Integer resultado=aux.getDato();
        aux=null;
        
        System.out.println("Se elimina el: " + resultado);
        return resultado;
    }
    
    
    
    
}

Clase Principal

package PilasNodos;

public class Principal {

    public static void main(String[] args) {
        
        Pila coleccion=new Pila();
        
        coleccion.Push(16);
        coleccion.Push(67);
        coleccion.Push(13);
        
        
        coleccion.Pop();
    }
    
}

Resultado


No hay comentarios:

Publicar un comentario