Professional Documents
Culture Documents
import java.io.Serializable;
public Pila ()
{
super();
}
import java.io.Serializable;
public class Cola<Tipo> extends Lista implements
Serializable
{
public Cola ()
{
super();
}
}
Colas en Java
with 14 comments
Ya puse unos ejemplos de listas y pilas, pero todavía hace falta el ejemplo de colas (no
de esas, pero no estaría mal poner unos buenos ejemplos…).
Bueno, lo que hace este programa, es mostrar un menú para que el usuario seleccione lo
que desee hacer, si insertar, retirar o mostrar la cola (de Java…).
view source
print?
01 import java.util.*;
02 public class Cola {
05
06 colagenerica obj = new colagenerica();
07
08 int op;
09 int num;
10
11 do{
12 menu();
13 op = leer.nextInt();
14
15 switch(op){
16 case 1:
17 System.out.println( "Numero a insertar" );
18 num = leer.nextInt();
19 if(obj.inscola(num)){
System.out.println( "fre"+obj.fre+"fin"+obj.
20
fin+"aux"+obj.max );
23 }
24 else{
27 break;
28 case 2:
29 if(obj.retcola()){
System.out.println( "El dato retirado fue:
30
"+obj.dret );
31 }
32 else{
35 break;
36 case 3:
39 }
40 else{
43 System.out.print(obj.c[i]+" \t");
44 }
45 break;
46 }
47 }
48 }
49 while(op != 4);
50 }
51
52 public static void menu(){
59 }
60 }
El programa usa métodos de la clase colagenerica, que puedes ver haciendo clic en mas
view source
print?
01 class colagenerica
02 {
09 public colagenerica()
10 {
11 max=20;
12 c=new Object [max];
13 }
14
15 public colagenerica(int n)
16 { max=n;
21 {
22 boolean llena;
23 if (fin==max-1)
24 llena=true;
25 else
26 llena=false;
27 return llena;
28 }
29
30 public boolean colavacia(int fre)
31 {
32 boolean vacia;
33 if (fre==-1)
34 vacia=true;
35 else
36 vacia=false;
37 return vacia;
38 }
39
40 public boolean inscola(Object dato)
41 {
42 if (fin==max-1)
43 return false;
44 fin++;
45 c[fin] = dato;
46 if (fin==0)
47 fre=0;
48 return true;
49 }
50
53 if (fre ==-1)
54 return false;
55 dret=c[fre];
56 if (fre==fin)
57 {
58 fre=-1;
59 fin=-1;
60 }
61 else
62 fre++;
63 return true;
64 }
65 }
Código Fuente:
Pila(int max)
{
vec=new int [max];
}
public boolean llena()
{
if (tope==vec.length-1)
return true;
else
return false;
}
public boolean vacia()
{
if (tope==-1)
return true;
else
return false;
}
public void push(int dato)
{
if (llena()== true)
System.out.println("Overflow");
else
if (tope==-1)
{
tope=0;
vec[tope]=dato;
}
else
{
tope++;
vec[tope]=dato;
}
}
public int pop()
{
int aux;
if (vacia()==true)
{
System.out.println("La pila esta vacia");
return -1;
}
else
{
aux=vec[tope];
tope--;
}
return aux;
}
public void Imprime_Datos()
{
if(vacia()==true)
{
System.out.println("La pila esta vacia,
ingrese datos primero:");
}
else
for(int
Contador=0;Contador<vec.length;Contador++)
System.out.println("Los valores
de la pila son:"+vec[Contador]);
}
}
Pilas y Colas
1.- Se tienen dos pilas (stacks) que contienen números
enteros; la primera ordenada ascendentemente desde el
tope hacia el fondo, y la segunda ordenada
descendentemente desde el tope hacia el fondo. Si se
cuenta con la clase CPila que contiene las operaciones
básicas definidas para pilas, elabore un programa que
fusione ambas pilas en una tercera ordenada
descendentemente desde el tope hacia el fondo. NOTA: no
debe utilizar pilas auxiliares.
• Área de un círculo.
• Obtener número mayor
• Ecuación cuadrática.
• Salir
Observaciones:
Solución
Para esta opción simplemente creamos la lista con las opciones mencionadas,
para cada opción se crea un Form y se realizan las conexiones necesarias. La
figura siguiente muestra la creación de la lista y se muestran las conexiones para
dos opciones nada más.
En la figura se remarca que se requieren dos comandos un okCommand
encargado de realizar la operación necesaria y un exitCommand que nos regresa
al menú principal.
En la vista de flujo se da doble clic para que se abra cada Form y así poder
agregar los elementos necesarios para la interfaz, como ya se ha realizado en
otros ejemplos. La figura siguiente muestra la interfaz de usuario para la opción
“Área de un círculo”
Cada Form tiene un okCommand para ejecutar la acción que se pide, dando clic
derecho se tiene acceso a insertar el código como ya se ha visto en los Ejemplos
#8 y #9. Aquí no voy a entrar en detalle del código, en teoría el lector debe tener
idea de cómo hacer dicho código, mejor en el video que se muestra más adelante
se puede ver el código con exactitud, agrandes rasgos lo que se realiza para cada
opción es lo que sigue:
Paso #4 Probar