martes, 29 de abril de 2014

Colas

import java.util.Scanner;
public class Cola {
       
    /**
     * Creates a new instance of <code>Cola</code>.
     */
    public Cola() {
    }
    public static int frente=0, fin=0;
    /**
     * @param args the command line arguments
     */
     
    public static void main(String[] args) {
        // TODO code application logic here
        int max, opcion;
        int [] cola;
        Scanner  ent=new Scanner(System.in);
        System.out.print("Tamano de la cola:");
        max=ent.nextInt();
        cola=new int[max];
       
        do {
       
        System.out.println("1)Insertar en cola");
        System.out.println("2)Eliminar elemento");
        System.out.println("3)Presentar cola");
        System.out.println("4)Limpiar cola");
        System.out.println("5)Salir");
        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("Opción equivocada");
        }      
        } while (opcion !=5);
     }
       
     public static void insertar(int[]c, int m)
        {
        Scanner ent=new Scanner(System.in);
        if (fin<m)
        {
           System.out.print("ingrese valor:");
        c[fin]=ent.nextInt();
        fin++;
        if(fin==1)
        {
        frente=fin;
        }
        }
        else
        {
        System.out.println("!!!DESBORDAMIENTO DE COLA ");
            }
       
        }
        public static void eliminar(int[]c)
        {
       
        if(frente>fin||fin==0)
        {
        System.out.println("!!!COLA SIN DATOS");
        }
        else
        {
        System.out.println("eliminando elemento"+frente);
        System.out.println("c["+frente+"]="+c[frente-1]);
        frente++;
        }
       
        }
       
        public static void presentar (int []c)
        {
         if (frente>fin||fin==0)
        {
        System.out.println("COLA VACIA");
        }
        else
        {
        for(int i=frente;i<=fin; i++)
        {
        System.out.println("cola["+ i +"]"+c[i-1]);
        }
       
          }
       
        }
     
}

La particularidad de una estructura de datos de cola es el hecho de que sólo podemos acceder al primer y al último elemento de la estructura. Así mismo, los elementos sólo se pueden eliminar por el principio y sólo se pueden añadir por el final de la cola.

No hay comentarios.:

Publicar un comentario