The code deals with how many empty cells a queue has, everything is fine. The problem is when the tail goes around

0
package colacicular;

import java.util.*;

public class cola {

 int Frente = -1;
 int Fin = -1;
 int arreglo[];
 int numeroMax = 12;
 int celdasVacias;



 public cola() {
  arreglo = new int[numeroMax];
 }
 public boolean Llena() {
  if (Fin == numeroMax - 1 && Frente == 0 || Fin + 1 == Frente) {
   return true;
  } else {
   return false;
  }
 }
 public boolean vacia() {
  if (Fin == -1 && Frente == 0) {
   return true;
  } else {
   return false;
  }
 }
 public void Insertar(int dato) {
  if (Llena() == true) {
   System.out.println("Cola llena \n");
  } else {
   if (Fin == numeroMax - 1 && Fin > 0) {
    Fin = 0;
    arreglo[Fin] = dato;
   } else {
    Fin++;
    arreglo[Fin] = dato;
    Frente = 0;
   }
  }
 }
 public void EncontrarFrenteFin() {

  if (Frente <= Fin) {
   celdasVacias = Fin - Frente + 1;
   celdasVacias = numeroMax - celdasVacias;

   System.out.println("El numero de elementos es: " + celdasVacias);



  }



 }
 public int Eliminar() {
  int aux = 0;
  if (vacia() == true) {
   System.out.println("Empty \n");
  } else {
   arreglo[Frente] = aux;
   if (Frente == Fin) {
    Frente = -1;
    Fin = -1;
   } else {
    Frente++;
   }
  }
  return aux;
 }
 public void Imprimecola() {
  for (int conta = 0; conta < arreglo.length; conta++) {
   System.out.println("Contenido: " + arreglo[conta]);
  }
 }
    
asked by Beto Diaz 07.10.2018 в 12:43
source

0 answers