Ir al contenido principal

Multiple Colas en Java

/* Menu Multiples Colas */

    class Menu_Colas
   {
       public static void main(String x[])
      {
         Multi_Colas mc;
         mc= new Multi_Colas();
     
         int opc,cola;   
         do
         {
            System.out.println("\n\n-º-º-º Menu Multi Colasº-º-º");                  System.out.print("\nº-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º");  
            System.out.print("\nº  1.Introducir un elemento     º");  
            System.out.print("\nº  2.Eliminar un elemento       º");
            System.out.print("\nº  3.Mostrar elementos          º");
            System.out.print("\nº  4.Consultar el primero       º");       
            System.out.print("\nº  5.Consultar el ultimo        º");
            System.out.print("\nº-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º");
            System.out.print("\nSeleccione una opcion --->");
            opc=Teclado.readInt();
                                    
            switch(opc) 
            {
               case 1: System.out.print("\n Seleccione cola: "); 
                  cola=Teclado.readInt();
                  if(cola > 4)
                  {
                     opc= 5;
                     System.out.print("\n Fuera de rango..."); 
                  }
                  else
                  {
                     mc.Push_Insertar(cola-1);
                  }
                  break;
               case 2: System.out.print("\n Seleccione cola: "); 
                  cola=Teclado.readInt();
                  if(cola > 4)
                  {
                     opc = 5;
                     System.out.print("\n Fuera de rango...");
                  }
                  else
                  {
                     mc.Pop_Eliminar(cola-1);
                  }
                  break;
               case 3: System.out.print("\n Seleccione cola: "); 
                  cola=Teclado.readInt();
                  if(cola > 4)
                  {
                     opc = 5;
                     System.out.print("\n Fuera de rango...");
                  }
                  else
                  {
                     mc.ImpElementos(cola-1);
                  }
                  break;
               case 4: System.out.print("\n Seleccione cola: "); 
                  cola=Teclado.readInt();
                  if(cola > 4)
                  {
                     opc = 5;
                     System.out.print("\n Fuera de rango...");
                  }
                  else
                  {
                     mc.PrimElemento(cola-1);
                  }
                  break;
               case 5: System.out.print("\n Seleccione cola: "); 
                  cola=Teclado.readInt();
                  if(cola > 4)
                  {
                     opc = 5;
                     System.out.print("\n Fuera de rango...");
                  }
                  else
                  {
                     mc.UltElemento(cola-1);
                  }
                  break;
               default:System.out.print("\n\n¡¡¡¡ G O O D  B Y E !!!!");
            }
         }                       
           while(opc<=5);    
      }
   }

//   Multiples Colas  
//   Luis Alberto Ochoa Bernal

    class Multi_Colas
   {
      int U[];
      int P[];
      int tam=20;
      int tamCola=4;
      int MultiCola[];
   
    //Constructor  
   //------------------------------------------------------------------
       Multi_Colas()
      {
         P=new int [tamCola];
         U=new int [tamCola];
         MultiCola=new int[tam];   
     
         for(int i=0; i<tamCola; i++)
         {
            P[i]=(tamCola*(i))-1;
            U[i]=(tamCola*(i))-1;
         }
      }
      
   // Metodo para insertar un elemento    
   //-----------------------------------------------------------------
       public void Push_Insertar(int i)
      {
         if(!colaLlena(i))
         {
            if((P[i]==(tamCola*(i))-1) && (U[i]==(tamCola*(i))-1))
            {
               P[i]=P[i]+1;
               U[i]=U[i]+1;
               System.out.print("\nDame el nuevo :");
               int nuevo=Teclado.readInt();
               MultiCola[U[i]]=nuevo;
            }
            
            else
            {
               if(U[i]==(tam*(i+1))-1)
               {
                  int pos=tam*(i)-1;
                  System.out.print("\nDame el nuevo :");
                  int nuevo=Teclado.readInt();
                  U[i]=pos;
                  MultiCola[U[i]]=nuevo;
               }
              
               else
               {
                  U[i]++;
                  System.out.print("\nDame el nuevo :");
                  int nuevo=Teclado.readInt();
                  MultiCola[U[i]]=nuevo;
               }           
            }
         }
         
         else          
         {
            System.out.print("\n ¡¡¡ No hay espacio !!!");
         }
      }
      
    //Metodo para eliminar un elemento
   //-----------------------------------------------------------------
       public void Pop_Eliminar(int i)
      {
         int dato; 
     
         if(!colaVacia(i)) 
         {
            dato=MultiCola[P[i]];
            P[i]++;
         }    
         else
         {
            System.out.print("\n\n ¡¡¡ Cola Vacia !!!");
         }   
      }
  
   //Metodo para saber si esta Llena
   //-----------------------------------------------------------------
       public boolean colaLlena(int i)
      {
         boolean resp; 
         int maxCola=tam*(i+1)-1; 
       
         if(((P[i]==tamCola*(i)) && (U[i]==maxCola)) || (U[i]==P[i]-1))
            resp=true;
         else
            resp=false;
       
         return(resp);                           
      }
      
   //Metodo para ver si esta Vacia
   //-----------------------------------------------------------------
       public boolean colaVacia(int i)
      {
         boolean resp; 
     
         if((P[i]==tamCola*(i)-1)&&(U[i]==tamCola*(i)-1))
            resp=true;
         else
            resp=false;
         return(resp);   
      }
      
   //Metodo para mostrar el ultimo elemento
   //-----------------------------------------------------------------
       public void UltElemento(int i)
      {
         if(!colaVacia(i))
         {
            int u=MultiCola[U[i]];
            System.out.print("\n\nUltimo elemento---> "+u);
         }
         else
         {
            System.out.print("\n\n ¡¡¡ Cola vacia !!!"); 
         }
      }
      
   //Metodo para mostrar Primer elemento
   //-----------------------------------------------------------------
       public void PrimElemento(int i)
      {
         if(!colaVacia(i))
         {
            int p=MultiCola[P[i]];
            System.out.print("\n\nPrimer elemento---> "+p);
         }
         else
         {
            System.out.print("\n\n ¡¡¡ Cola vacia !!!"); 
         }
      }
      
   //Metodo para mostrar todos Los Elementos
   //-----------------------------------------------------------------
       public void ImpElementos(int i)
      { 
         if(!colaVacia(i))
         {
            for(int j=P[i]; j<=U[i]; j++)
            {
               System.out.print("\n\nDatos de la cola---> "+MultiCola[j]);
            }
         }   
         else
         {
            System.out.print("\n\n ¡¡¡ Cola vacia !!!"); 
         }
      }
   //-----------------------------------------------------------------
   }






Comentarios

Entradas más populares de este blog

Cuadrado Perfecto en Java

/**   Programa que dice si un numero ingresado es Cuadrado Perfecto   Autor: **/     class CuadPerF    {        public static void main(String arr[])       {          int num;          double sum,r;                 System.out.print("\n Ingrese Numero:");          num = Teclado.readInt();                 sum = Math.sqrt(num);          r = sum;                           if(r%2 ==0)          {             ...

Lista Circular en Java

/* Menu Mlista de la clase ListaCir*/ class MListaCir {   public static void main(String x[])   {         ListaCir lis;      int dato;          lis= new ListaCir();                          int opc;                         do             {                 System.out.print("\n * * * * MENU * * * * * *");                   System.out.print("\n *  1.Insertar  nodo    *");                   System.out.print("\n *  2.Eliminar  nodo...

Programa que simula el juego del 21 para 3 jugadores donde diga quien es el ganador y el total de su suma sin pasarse del 21 en Java

/** Programa que simula el juego del 21 para 3 jugadores donde diga quien es el ganador y el total de su suma sin pasarse del 21 */ class Juego21 {     public static void main(String args[])     {         int i,jug,J1=0,J2=0,J3=0;         int Li=1,Ls=13,posible,A;         int La=1,Lb=4,B;         boolean E1,E2,E3;         double aleat;         for(jug=1;jug<4;jug++)//inicio for 3 jugadores         {             System.out.println("««JUGADOR NUMERO "+jug+"»»");             for(i=1;i<=3;i++)//inicio for 3 cartas             {                 /*********Nume...