//Programa de Colas con Arreglos en Forma Circular
import java.util.Scanner;
public class ColaCircular
{
public ColaCircular()
{
}
public static int Frente=0, Final=0;
public static void main(String[] args)
{
//Declaracion de variables y creacion del arreglo
int Max,Opcion;
int [] colacir;
Scanner entrada = new Scanner (System.in);
//Solicita el tamaño del arreglo
System.out.println ("Ingrese el tamaño del arreglo");
Max=entrada.nextInt();
colacir = new int [Max];
Final=Max;
Final = Max - 1;
Frente = Siguiente(Final,Max);
// Creando menu de datos
do
{
System.out.println("---------------Menu----------------");
System.out.println(" 1)Insertar (Ingresar Datos a Cola) ");
System.out.println(" 2)Eliminar (Eliminar datos de Cola) ");
System.out.println(" 3)Presentar Cola ");
System.out.println(" 4)Limpia Cola ");
System.out.println(" 5)Salir /n");
System.out.println(" Seleccione un opcion ");
Opcion =entrada.nextInt();
//Alimentando la opcion elejida mendiante un swich
switch (Opcion)
{
case 1 : Insertar(colacir,Max);
break;
case 2 : Eliminar (colacir,Max);
break;
case 3 : Presentar(colacir,Max);
break;
case 4 : Frente=0;
Final=Max;
System.out.println("La pila se ha vaciado");
break;
case 5 : break;
default : System.out.println(" Opcion Incorrecta Teclea una del Menu ");
break;
}
}while (Opcion !=5);
}
public static int Siguiente (int p, int m) //alojara la posicion
{
return (p+1) % m;//%modulo extrae el residuo de una division estrallendo
//el valor del siguiente de fin
}
public static void Insertar (int[]c, int m)
{
Scanner entrada= new Scanner (System.in);
System.out.println(Siguiente(Final,m));
if(Frente==Siguiente(Siguiente(Final,m),m))
System.out.println("Cola LLENA");
else
{
System.out.println("Ingrese el valor");
Final=Siguiente(Final,m);
c[Final]=entrada.nextInt();
}
}
public static void Eliminar(int[]p, int m)
{
if (Frente==Siguiente(Final,m))
{
System.out.println(" Cola Vacia");
}
else
{
System.out.println("Eliminado el elemento <<"+Frente+">> =" +p[Frente]);
Frente=Siguiente(Frente,m);
}
}
public static void Presentar(int []p, int m)
{
for(int i=Frente; i!=Siguiente(Final,m); i++)
{
System.out.println("Cola["+i+"] = "+p[i]);
}
}
}
Programa por el cual se crea una cola circular, mediante un menú predefinido el usuario genera,inserta, elimina y vacía los elementos de la misma.
ResponderEliminar