0% encontró este documento útil (0 votos)
57 vistas6 páginas

Colas y Pilas

El documento presenta la implementación de una cola y una pila utilizando nodos enlazados en Java, incluyendo métodos para insertar, eliminar, verificar si está vacía y obtener el tamaño.
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
57 vistas6 páginas

Colas y Pilas

El documento presenta la implementación de una cola y una pila utilizando nodos enlazados en Java, incluyendo métodos para insertar, eliminar, verificar si está vacía y obtener el tamaño.
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 DOCX, PDF, TXT o lee en línea desde Scribd

COLAS

package colas;

public class NodoCola {


int dato;
NodoCola siguiente;

public NodoCola (int dato)


{
[Link] = dato;
siguiente = null;
}

}
package colas;

public class Cola {

NodoCola inicio,fin;
int tama;

public Cola ()
{
inicio = fin = null;
tama=0;
}
//metodo par saber si esta vacia la cola
public boolean estaVacia()
{
return inicio == null;
}
//metodo insertar
public void insertar(int ele)
{
NodoCola nuevo = new NodoCola(ele);
if (estaVacia())
{
inicio = nuevo;
}
else
[Link] = nuevo;
fin = nuevo;
tama++;
}
//metodo para sacar
public int sacar()
{
int aux = [Link];
inicio= [Link];
tama--;
return aux;
}
//metodo para saber quien esta al inicio de la cola
public int inicioCola()
{
return [Link];
}
//metodo para saber el tamaño de la cola
public int tamanioCola()
{
return tama;
}

}
package colas;

import [Link];

public class Colas {

public static void main(String[] args) {

int opcion = 0, elemento = 0;


Cola colita = new Cola ();
do
{
try {
opcion = [Link]([Link](null,
"1. Insertar un elemento en la cola\n"
+ "2. Sacar un elemento de la cola\n"
+ "3. ¿La cola esta vacia?\n"
+ "4. Elemento ubicado al inicio de la cola\n"
+ "5. Tamanio de la cola\n"
+ "6. Salir\n", "MENU DE OPCIONES DE UNA COLA",
JOptionPane.QUESTION_MESSAGE));
switch ( opcion)
{
case 1:
elemento = [Link]([Link](null
,"Ingresa el elemento a insertar","INSERTANDO EN LA COLA"
,JOptionPane.QUESTION_MESSAGE));
[Link](elemento);
break;
case 2:
if (![Link]())
[Link](null,"El elemento atendido es "+
[Link](),
"QUITANDO ELEMENTOS DE LA
COLA",JOptionPane.INFORMATION_MESSAGE);
else [Link](null,"La cola esta vacia ",
"COLA VACIA",JOptionPane.INFORMATION_MESSAGE);
break;
case 3:
if ( [Link]())
[Link](null,"La cola esta vacia ",
"COLA VACIA",JOptionPane.INFORMATION_MESSAGE);
else [Link](null,"La cola no esta vacia ",
"COLA NO VACIA",JOptionPane.INFORMATION_MESSAGE);
break;
case 4:
if (![Link]())
[Link](null,"El elemento al inico de la cola es
"+[Link](),
"INICIO DE LA COLA",JOptionPane.INFORMATION_MESSAGE);
else [Link](null,"La cola esta vacia ",
"COLA VACIA",JOptionPane.INFORMATION_MESSAGE);
break;
case 5:
[Link](null,"El tamanio de la cola es
"+[Link](),
" TAMANIO DE LA COLA",JOptionPane.INFORMATION_MESSAGE);
break;
case 6:
[Link](null,"Aplicacion finalizada",
"FIN",JOptionPane.INFORMATION_MESSAGE);
break;
default:
[Link](null,"Opcion incorrecta",
"CUIDADO!!",JOptionPane.INFORMATION_MESSAGE);
break;
}
} catch (NumberFormatException n) {
[Link](null, "ERROR" + [Link]());
}
}
while (opcion!=6
);

}
PILAS
package piladinamica;

public class NodoPila {

int dato;
NodoPila siguiente;
public NodoPila( int dato)
{
[Link] = dato;
siguiente = null;
}

package piladinamica;

public class Pila {

private NodoPila cima;


int tama;

public Pila()
{
cima = null;
tama = 0;
}
//metodo para saber cuando la pila esta vacia
public boolean estaVacia()
{
return cima==null;
}
//metodo para empujar(push)
public void empujar(int elem)
{
NodoPila nuevo = new NodoPila(elem);
[Link] = cima;
cima = nuevo;
tama++;
}
//metodo para sacar
public int sacar()
{
int aux = [Link];
cima = [Link];
tama--;
return aux;
}
//metodo para saber quiene sta en la cima de la pila
public int cima()
{
return [Link];
}
//metodo para saber el tamaño de la pila
public int tamanioPila()
{
return tama;
}
//metodo para limpiar la pila
public void limpiar()
{
while (!estaVacia())
sacar();
}
}

package piladinamica;

import [Link];

public class PilaDinamica {

public static void main(String[] args) {

Scanner teclado = new Scanner([Link]);


int opcion =0, elemento=0;
Pila pilita = new Pila();
do
{
[Link]("-------------------------------");
[Link]("1. Empujar un elemento en la pila");
[Link]("2. Sacar un elemento en la pila");
[Link]("3. ¿La pila esta vacia?");
[Link]("4. ¿Que elemento esta en la cima?");
[Link]("5. Tamanio de la pila");
[Link]("6. vaciar pila");
[Link]("7. Salir");
[Link]("¿Que dese hacer? MENU DE OPCIONES");
opcion = [Link]();
switch (opcion)
{
case 1:
[Link]("Ingresa el eleemtno a empujar");
elemento = [Link]();
[Link](elemento);
break;
case 2:
if ( ![Link]())
[Link]("El elemento obtenido es: "+ [Link]());
else [Link]("La pila esta vacia, PILA VACIA");
break;
case 3:
if ( [Link]())
[Link]("La pila esta vacia, PILA VACIA");
else [Link]("La pila no esta vacia, LA PILA CONTIENE DATOS");
break;
case 4:
if ( ![Link]())
[Link]("El elemento que se encuentra en la cima es: "+[Link]());
else [Link]("La pila esta vacia, PILA VACIA");
break;
case 5:
[Link]("El tamanio de la pila es: "+ [Link]());
break;
case 6:
if (![Link]())
{
[Link]("La pila se ha vaciado; VACIANDO PILA");
[Link]();
}
else [Link]("La pila esta vacia, no hay nada que vaciar, PILA VACIA");
break;
case 7:
[Link]("Termino el programa, FIN");
break;
default:
[Link]("Opcion incorrecta, ERROR");
break;
}
}
while ( opcion!=7);

También podría gustarte