martes, 29 de abril de 2014

Colas en Java

/**
 * @(#)Colas.java
 *
*   Programa para trabajar con una cola.
*   Especificamos el tamaño de la cola.
*   Solicitamos el ingreso de elementos a la Cola.
*   Podemos eliminar un elemento de la Cola.
*   Podemos mostrar los elementos que contiene la Cola.
*   Podemos borrar completamente el contenido de la Cola.
*
 * @author Ricardo Camacho Lamas
 * @version 1.00 2014/4/7
 */
import java.util.Scanner;

public class Colas {
     
    /**
     * Creates a new instance of <code>Pilas</code>.
     */
    public Colas() {
    }
   
 public static int frente=0, Fin=0;
   
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
      int [] cola;
     int max=0;
     int opcion=0;
        
     Scanner ent=new Scanner (System.in);
   
            // TODO code application logic here
           
        System.out.println("     Ingrese el tamaño de la Cola ");
        max=ent.nextInt();
        cola=new int[max];   
       
        do { 
        System.out.println(" ______________________________________");
        System.out.println("|                                      |");     
        System.out.println("|    Programa para trabajos en Colas   |");
        System.out.println("|______________________________________|");
        System.out.println("     1.- Ingresar elemento en Cola     ");
        System.out.println("     2.- Eliminar elemento de Cola     ");
        System.out.println("     3.- Presentar elementos de Cola   ");
        System.out.println("     4.- Limpiar Cola                  ");
        System.out.println("     5.- Salir                         ");
        System.out.println("_______________________________________");
       
        opcion=ent.nextInt();
       
        switch(opcion)
       
        {
         case 1: insertar(cola,max);
           break;
         case 2: eliminar(cola);
           break;
         case 3: presentar(cola);
           break;
         case 4: frente=0;
           Fin=0;
           break;
         case 5: break;
       
         default:
           System.out.println("Opcion equivocada");
        }
       
    } while (opcion!=5);
   
   }
 
  // metodo para ingresar datos en cola
   
  public static void insertar(int[]c, int m)
  {
   Scanner ent=new Scanner(System.in);
 
   if (Fin < m)                // verificando cola llena
 {   Fin++;                     // incrementamos el valor de fin para mostrar en pantalla

  System.out.println("Ingrese elemento <<"+Fin+">> de la Cola");
  c[Fin-1]=ent.nextInt(); // restamos a Fin 1 para dejarlo como estaba antes de mostrar
                                       // y solicitamos la entrada del elemento
  if (Fin==1)                   // si final = 1
  {                       
   frente=Fin;                  // ponemos el mismo valor a frente
  }
 }
  else
  {
   System.out.println("Desbordamiento de Cola");
  }
  }
 
  public static void eliminar(int[]c)
  {
   if (frente>Fin || Fin==0)     // validacion de valores de frente y final de la cola
   {
     System.out.println("Cola Vacia");
   }
    else   
    {
     System.out.println("Eliminando el elemento "+frente);
     System.out.println("c["+frente+"]="+c[frente-1]);  // mostrando el valor a eliminar de la cola
   frente++;
    }
  }
 
  public static void  presentar(int[]c)
  {
    if (frente>Fin || Fin==0) // validacion de valores de frente y final de la cola
     {
       System.out.println("Cola Vacia ");    // mensaje de cola vacia
    }
        else
     {
        for(int i=frente; i<=Fin; i++)  // leemos todos los elementos de la cola
      {
        System.out.println("Cola ["+i+"]"+c[i-1]);   // se muestran en pantalla los elementos de la cola
       }
     }
  }
}

No hay comentarios.:

Publicar un comentario