3640180
Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: Consulplan
Orgão: Pref. Nova Iguaçu-RJ
Disciplina: TI - Desenvolvimento de Sistemas
Banca: Consulplan
Orgão: Pref. Nova Iguaçu-RJ
Um desenvolvedor está implementando uma estrutura de dados do tipo fila em Java. Ele iniciou a implementação da classe Fila utilizando um array para armazenar os elementos:
public class Fila {
private int[] elementos;
private int tamanho;
private int inicio;
private int fim;
public Fila(int capacidade) {
elementos = new int[capacidade];
tamanho = 0;
inicio = 0;
fim = -1;
}
public boolean estaVazia() {
return tamanho == 0;
}
public boolean estaCheia() {
return tamanho == elementos.length;
}
public void enfileirar(int elemento) {
if (estaCheia()) {
System.out.println("Fila está cheia. Não é possível enfileirar.");
} else {
fim = (fim + 1) % elementos.length;
elementos[fim] = elemento;
tamanho++;
}
}
public int desenfileirar() {
if (estaVazia()) {
System.out.println("Fila está vazia. Não é possível desenfileirar.");
return -1;
} else {
int elementoRemovido = elementos[inicio];
inicio = (inicio + 1) % elementos.length;
tamanho--;
return elementoRemovido;
}
}
}
No método enfileirar, qual é a finalidade da expressão (fim + 1) % elementos.length?