Ola, eu recentemente fiz um programa na qual eu deveria fazer uma fila circular.
Ele efetivamente cadastra de forma dinâmica os dados, mas não sei se esta fazendo de forma circular.
Além de que tem uma parte do código que não lembro o motivo de ter implementado, mas para mim não faz sentido, porém quando eu edito ele não se comporta como deveria.
Esse é o método que adiciona:
public void vAdiciona(int nDado){ // método de cadastro
No noNovo = new No(nDado); // atributo do tipo No
if(bVazia()){ // verifica se os atributos noInicio e noFim estão vazios
noInicio = noNovo; // se estiver vazio, noInicio armazena todos os dados do objeto noNovo
noFim = noNovo; // noFim faz a mesma coisa
noFim.proximo = noInicio; // ponteiro aponta para noInicio
} // if
else{ // caso não esteja vazio
noNovo.proximo = noInicio; // noNovo aponta para noInicio
// noNovo.proximo aponta para noInicio para não se perder o conteúdo armazenado no noInicio
noFim.proximo = noNovo; // noFim aponta para noNovo
// noFim.proximo aponta para o noNovo para apontar para o noNovo que esta apontando para o noInicio.
noFim = noNovo; // noFim recebe noNovo (Essa linha, não apagaria o endereço apontado pelo noFim.proximo?)
// noFim recebe o valor de noNovo.
} // else
} // método bVazia
Essa é a classe nó
public class No {
public No proximo;
public int dado;
public No (int dado){
this.proximo = null;
this.dado = dado;
} // No
} // Classe No
Não sei se esse é o lugar certo para postar, ou se postei de forma certa, de qualquer forma, obrigado a quem ajudar.