Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package colaCircular;
- import java.util.Scanner;
- public class colaCircular {
- private static int MAXTAMQ = 99;
- protected int frente;
- protected int fin;
- protected Object [] listaCola ;
- // avanza una posición
- public int siguiente(int r)
- {
- return (r+1) % MAXTAMQ;
- }
- //inicializa la cola vacía
- public colaCircular(){
- frente = 0;
- fin = MAXTAMQ-1;
- listaCola = new Object [MAXTAMQ];
- }
- // operaciones de modificación de la cola
- public void insertar(Object elemento) throws Exception{
- if (!colaLlena()){
- fin = siguiente(fin);
- listaCola[fin] = elemento;
- }else throw new Exception("Overflow en la cola");
- }
- public Object quitar() throws Exception{
- if (!colaVacia()){
- Object tm = listaCola[frente];
- frente = siguiente(frente);
- return tm;
- }else throw new Exception("Cola vacia ");
- }
- public void borrarCola(){
- frente = 0;
- fin = MAXTAMQ-1;
- }
- // acceso a la cola
- public Object frenteCola() throws Exception{
- if (!colaVacia()){
- return listaCola[frente];
- }else throw new Exception("Cola vacia ");
- }
- public Object finCola() throws Exception{
- if (!colaVacia()){
- return listaCola[fin];
- }else throw new Exception("Cola vacia ");
- }
- // métodos de verificación del estado de la cola
- public boolean colaVacia(){
- return frente == siguiente(fin);
- }
- // comprueba si está llena
- public boolean colaLlena(){
- return frente == siguiente(siguiente(fin));
- }
- public void mostrarCola()throws Exception {
- if (!colaVacia()){
- for(int i=frente;i<=fin;i++) {
- System.out.print(listaCola[i]+" ");
- }
- System.out.println(" ");
- }
- else
- throw new Exception("Cola vacia");
- }
- public int tamañoCola() throws Exception {
- if (!colaVacia()){
- return fin-frente;
- }
- else
- throw new Exception("Cola vacia");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement