0% encontró este documento útil (0 votos)
35 vistas3 páginas

Codigo 1206

El documento describe una clase Nodo y una clase Pila para implementar una estructura de datos de pila en Java mediante el uso de nodos enlazados. La clase Nodo almacena un valor y un puntero al siguiente nodo, mientras que la clase Pila implementa métodos para apilar, desapilar y consultar el tope de la pila.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas3 páginas

Codigo 1206

El documento describe una clase Nodo y una clase Pila para implementar una estructura de datos de pila en Java mediante el uso de nodos enlazados. La clase Nodo almacena un valor y un puntero al siguiente nodo, mientras que la clase Pila implementa métodos para apilar, desapilar y consultar el tope de la pila.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

packege pilas;

public class Nodo{


//Variable en la cual se va a guardar el valor
private int valor;
//variable para enlazar los nodos
private Nodo siguiente;
/*
constructor que indicamos el valor de las variables.
*/
public void Nodo(){
this.valor = 0;
this.siguiente = null;
}
//Metodos get y set para los atributos.
public int getValor(){
return valor;
}
public void setValor(int valor) {
this.valor = valor;
}
public Nodo getSiguiente(){
return siguiente;
}
public void setSiguiente(Nodo siguiente){
this.siguiente = siguiente;
}
}

package pilas;
public class Pila {
//puntero que indica el inicio de la pila o tambien conocida como el //tope de la
pila.
private Nodo inicio;
//variable para registrar el tamaño de la pila.
private int tamanio;
/**
*contructor por defecto.
*/
public void Pila(){
inicio = null;
tamanio = 0;
}
/**
*consulta si la pila esta vacia.
*@return true si el primer nodo (inicio) ,no apunta a otro nodo.
*/.
public boolean esVacia(){
return inicio == null;// =Asignar ==comparar
}

/**
*consulta cuantos elementos (nodos) tiene la pila.
*@return numero entero entre [0,n] donde n es el numero de elementos *que contenga
la lista.
*/
public int getTamaño(){
return tamanio;
}
/**
*agrega un nuevo nodo a la pila.
*@param valor a agregar.
*/
public void apilar(int valor){
//define el nuevo nodo.
Nodo nuevo = new Nodo();
//agrega el valor al nodo.
nuevos.setValor(valor);
//consulta si la pila esta vacia.
if(esVacia()){
//inicializa la pila con el nuevo valor.
inicio = nuevo;
}
//caso contrario agrega el nuevo nodo al inicio de la pila.
else{
nuevo.setSiguiente(inicio);
inicio = nuevo;
}
//incrementa el contador de tamanño.
tamanio++;
}
/**
*elimina el elemento que se encuetra en el tope de la pila.
*/
public void retirar(){
if (!esVacia()){
//asigna el contador del tamaño de la pila
tamanio--;
}
}
/**
*consulta el valor del nodo que se encuetra en la cima de la pila
*@return valor del nodo.
*@throws Exception
*/
public int cima() thows Exception{
if(!esVacia()){
return inicio.getValor();
}else{
thorow new Exception("La pila se encuetra vacia.");
}
}
public boolean buscar(int referencia){
//crea una copia de la pila.
Nodo aux = inicio;
boolean existe = false;
while(existe != true && aux != null){
if(referencia == aux.getValor()){
existe = true;
}
else{
aux = aux.getSiguiente();
}
}
return existe;
}
public void remover(int referencia){
if (buscar(referencia)){
Nodo pilaAux = null;
while(referencia != inicio.getValor()){
Nodo temp = new Nodo();
temp.setValor(inicio.getValor());
if(pilaAux == null){
pilaAux = temp;
}
else{
temp.setSiguiente(pilaAux);
pilaAux = temp;
}
retirar();
}

También podría gustarte