Estou implementando uma fila com prioridade por meio de um vetor, meu método pra inserção funciona normalmente:
public boolean inserir(int n){ if(estaCheia()) { return false; } if(estaVazia()) { fila[nItens++] = n; return true; } else { int i; for(i = nItens-1; i>=0; i--) { if(n > fila[i]){ fila[i+1] = fila[i]; } else{ break; } } fila[i+1] = n; nItens++; return true; } }
O único problema é quando vou recuperar o primeiro elemento da fila, fico com uma posição livre no vetor, mas ao tentar inserir surge uma expection ArrayIndexOutOfBounds, acredito que seja porque o espaço livre no vetor é o primeiro. O que devo fazer pra reorganizar o vetor de modo que seja possível inserir nele depois de ter removido o primeiro elemento da fila?