Estruturas de Dados: Array Circular

2 respostas
M

Eu, como estudante superior, estou tendo problemas ao estudar estruturas de dados com a utilizacao de array circular. As minhas duvidas, estao explicitamente em como trabalhar usando esta estrutura sem gerar a excecao ArrayoutOfBounds. Pois todas as minhas tentativas falharam.

Agradeço desde ja a compreensao do problema da qual estou enfrentando e que estou ciente das reclamacoes dos outros usuarios referentes a estes assuntos frequentes.

Atenciosamente,

2 Respostas

F

Acho q tua duvida pode ser sanada da seguinte maneria ...

class FilaCirc {
    private final int TAM = 10;
    private int vetInt[];
    private int inicio, total;
    
    public FilaCirc() {
        vetInt=new int[TAM];
        inicio=0;
        total =0;
    }
    public void addElement(int v) throws Exception {
        synchronized(this) {
            if (total == TAM) throw new Exception("Fila cheia!");
            vetInt[(inicio+total)%TAM]=v;
            total++;
        }
    }
    public int getElement() throws Exception {
        synchronized(this) {            
            if (total == 0 ) throw new Exception("Fila vazia!");
            int temp = vetInt[inicio];
            inicio = (++inicio)%TAM;
            total--;
        }
        return temp;
    }
}
P

Você pdoeria postar seu código :wink:

Criado 16 de maio de 2005
Ultima resposta 17 de mai. de 2005
Respostas 2
Participantes 3