Isso aqui ajuda? Espero que sim, mas não sei se é bem isso que você quer…
import javax.swing.*;
class Fila{
int inicio;
int fim;
int tamanho;
int qtdeElementos;
int f[];
public Fila(){
inicio = fim = -1;
tamanho = 100;
f = new int[tamanho];
qtdeElementos = 0;
}
public boolean estaVazia(){
if (qtdeElementos == 0){
return true;
}
return false;
}
public boolean estaCheia(){
if (qtdeElementos == tamanho - 1){
return true;
}
return false;
}
public void adicionar(int e){
if (! estaCheia()){
if (inicio == -1){
inicio = 0;
}
fim++;
f[fim] = e;
qtdeElementos++;
}
}
public void remover(){
if (! estaVazia() ){
inicio++;
qtdeElementos--;
}
}
public void mostrar(){
String elementos = "";
for (int i = inicio; i<=fim; i++) {
elementos += f[i]+ " - ";
}
JOptionPane.showMessageDialog(null, elementos);
}
}
public class FilaAplicacao {
public static void main(String[] args) {
Fila f = new Fila();
f.adicionar(10);
f.adicionar(12);
f.adicionar(30);
f.mostrar();
f.remover();
f.mostrar();
}
}
amigo, distancia não é o seu metodo construtor. construtor se refere a como criar o objeto.
primeiro, vc pode definir o que é a distancia de um elemento?
se a fila é assim:
1->2->3->4->5->9->0
o que é a distancia do valor 9 ?
se isso for a quantidade de nos desde o começo da fila, vc pode fazer um loop while procurando este elemento e enquanto não encontra vc incrementa 1 em uma variavel. encontrou? para o loop.
chegou ao fim e não encontrou? define o que vai acontecer. pode ser retornar -1, lançar uma exception, etc.