import java.util.Scanner;
/**
*
* @author omar
*/
public class Cola {
private final int MAXIMO = 100;
private int[] V;
private int inicio;
private int fin;
public Cola() {
this.V = new int[MAXIMO + 1];
this.inicio = 0;
this.fin = 0;
}
public boolean esVacia() {
return inicio == fin;
}
public boolean esLlena() {
return tamanio() == MAXIMO - 1;
}
public void agregar(int a) {
if (esLlena()) {
System.out.println("Cola Llena! No se puede adicionar.");
} else {
fin = (fin + 1) % MAXIMO;
V[fin] = a;
}
}
public int eliminar() {
int a = Integer.MIN_VALUE;
if (esVacia()) {
System.out.println("Cola Vacia! No se puede eliminar.");
} else {
inicio = (inicio + 1) % MAXIMO;
a = V[inicio];
}
return a;
}
public int tamanio() {
return (fin - inicio + MAXIMO) % MAXIMO;
}
private void copiar(Cola B) {
while (!B.esVacia()) {
agregar(B.eliminar());
}
}
public void leer() {
Scanner in = new Scanner(System.in);
System.out.print("Nro.Elementos: ");
int n = in.nextInt();
System.out.println("Ingrese elementos:");
for (int i = 0; i < n; i++) {
int a = in.nextInt();
agregar(a);
}
}
public void mostrar() {
if (esVacia()) {
System.out.println("Cola Vacia! No se puede mostrar nada.");
} else {
Cola X = new Cola();
while (!esVacia()) {
int a = eliminar();
System.out.print(" " + a);
X.agregar(a);
}
this.copiar(X);
System.out.println("");
}
}
public static void main(String[] args) {
}
}
No hay comentarios:
Publicar un comentario