COLAS
Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.
Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazada.
Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazada.
EJEMPLO 1:
package colasoperaciones;
import java.util.*;
public class Cola {
public static void main( String args[] ){
Scanner leer = new Scanner(System.in);
ColaGenerica obj = new ColaGenerica();
int op;
int num;
do{
menu();
op = leer.nextInt();
switch(op){
case 1:
System.out.println( "Numero a insertar" );
num = leer.nextInt();
if(obj.inscola(num)){
System.out.println( "fre"+obj.fre+"fin"+obj.fin+"aux"+obj.max );
System.out.println( "El numero "+num+" se inserto en la cola ["+obj.dret+"]" );
System.out.println();
}
else{
System.out.println( "Cola llena" );
}
break;
case 2:
if(obj.retcola()){
System.out.println( "El dato retirado fue: "+obj.dret );
}
else{
System.out.println( "Cola vacia" );
}
break;
//case 3:
// if(obj.fre==-1; obj.fin==-1){
//System.out.println( "Cola vacia" );
//}
//else {
// for(int i=obj.fre; i++){
// System.out.print(obj.c[i]+" ");
}
break;
}
while(op != 4);
}
public static void menu(){
System.out.println( "\t Menu para colas \n" );
System.out.println( "1.- Insertar" );
System.out.println( "2.- Retirar" );
System.out.println( "3.- Estado" );
System.out.println( "4.- Fin" );
System.out.println( "\n Selecciona" );
}
}
EJEMPLO 2:
package colasoperaciones;
class ColaGenerica
{
public int max;
protected Object dret;
public Object c[];
public int fre = -1;
public int fin = -1;
public ColaGenerica()
{
max=20;
c=new Object [max];
}
public ColaGenerica(int n)
{ max=n;
c=new Object [max];
}
public boolean colallena(int fin,int max)
{
boolean llena;
if (fin==max-1)
llena=true;
else
llena=false;
return llena;
}
public boolean colavacia(int fre)
{
boolean vacia;
if (fre==-1)
vacia=true;
else
vacia=false;
return vacia;
}
public boolean inscola(Object dato)
{
if (fin==max-1)
return false;
fin++;
c[fin] = dato;
if (fin==0)
fre=0;
return true;
}
public boolean retcola()
{
if (fre ==-1)
return false;
dret=c[fre];
if (fre==fin)
{
fre=-1;
fin=-1;
}
else
fre++;
return true;
}
}
EJEMPLO 3:
package cola;
import java.io.*;
//Declaramos la clase calculatorTest
public class ejecutar_cola{
//Declaramos el metodo principal
public static void main (String args[])throws IOException {
BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
int Espacios = 0;
char Resp, op;
String aux;
//--- Imprimir Menu ---- \\
System.out.println("\n :: XROM RELOADED :: 19/07/07 \n");
System.out.print("\t Cuantos espacios quiere en la Cola (entre 3 y 30 recomendable)? :");
Espacios = Integer.parseInt(entrada.readLine());
ejecutar_cola x = new ejecutar_cola(Espacios);
//--- Imprimir Menu ---- \\
System.out.println("\n\n\t ------------ //-------- Menu Cola Simple --------\\\\------------ \n ");
do {
System.out.println("\n\n1.- Imprimir Cola"); // Mostrar
System.out.println("2.- Agregar Elemento a la Cola"); // Push
System.out.println("3.- Quitar Elemento de la Cola"); // Pop
System.out.print("\n\n Elija una Opcion : ");
aux = entrada.readLine();
op = aux.charAt(0);
//---- Elegir opcion ---\\
switch (op) {
case '1':
x.Imprimir();
break;
case '2':
Ejecutar.Push();
break;
case '3':
Ejecutar.Pop();
break;
default:
System.out.println("opcion fuera de rango !!");
} // Fin del switch
System.out.print("Desea hacer otra operacion ?? S / N ");
aux = entrada.readLine();
Resp = aux.charAt(0);
} while (Resp == 'S' Resp == 's');
} // Fin del metodo main
} // Fin de la calse
No hay comentarios:
Publicar un comentario