Advertisement
FacuValverdi

EdD-TP3-Cola Circular[LIBRO]

Oct 12th, 2022 (edited)
1,394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.89 KB | None | 0 0
  1. package colaCircular;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class colaCircular {
  6.    
  7.         private static int MAXTAMQ = 99;
  8.         protected int frente;
  9.         protected int fin;
  10.         protected Object [] listaCola ;
  11.         // avanza una posición
  12.         public int siguiente(int r)
  13.         {
  14.         return (r+1) % MAXTAMQ;
  15.         }
  16.         //inicializa la cola vacía
  17.         public colaCircular(){
  18.         frente = 0;
  19.         fin = MAXTAMQ-1;
  20.         listaCola = new Object [MAXTAMQ];
  21.         }
  22.         // operaciones de modificación de la cola
  23.         public void insertar(Object elemento) throws Exception{
  24.             if (!colaLlena()){
  25.             fin = siguiente(fin);
  26.             listaCola[fin] = elemento;
  27.             }else throw new Exception("Overflow en la cola");
  28.         }
  29.         public Object quitar() throws Exception{
  30.             if (!colaVacia()){
  31.             Object tm = listaCola[frente];
  32.             frente = siguiente(frente);
  33.             return tm;
  34.             }else throw new Exception("Cola vacia ");
  35.         }
  36.         public void borrarCola(){
  37.             frente = 0;
  38.             fin = MAXTAMQ-1;
  39.         }
  40.             // acceso a la cola
  41.         public Object frenteCola() throws Exception{
  42.             if (!colaVacia()){
  43.             return listaCola[frente];
  44.             }else throw new Exception("Cola vacia ");
  45.         }
  46.         public Object finCola() throws Exception{
  47.             if (!colaVacia()){
  48.             return listaCola[fin];
  49.             }else throw new Exception("Cola vacia ");
  50.         }
  51.             // métodos de verificación del estado de la cola
  52.         public boolean colaVacia(){
  53.             return frente == siguiente(fin);
  54.         }
  55.             // comprueba si está llena
  56.         public boolean colaLlena(){
  57.             return frente == siguiente(siguiente(fin));
  58.         }
  59.         public void mostrarCola()throws Exception {
  60.                 if (!colaVacia()){
  61.                     for(int i=frente;i<=fin;i++) {
  62.                         System.out.print(listaCola[i]+" ");
  63.                     }
  64.                     System.out.println(" ");
  65.                 }
  66.                 else
  67.                 throw new Exception("Cola vacia");
  68.                
  69.         }
  70.         public int tamañoCola() throws Exception {
  71.                 if (!colaVacia()){
  72.                     return fin-frente;
  73.                 }
  74.                 else
  75.                 throw new Exception("Cola vacia");     
  76.         }
  77. }
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement