Estou com duvida em como adicionar um elemento numa lista dupla cirular em que depois terei que remove-los até restar apenas(problema Josephus) poderiam me da uma ajuda
Eis minha classe node
package josephus;
public class Node {
int info;
Node proximo;
Node anterior;
Node(int dado){
this.info = dado;
this.proximo = null;
this.anterior = null;
}
Node(int dado, Node next, Node anterior){
this.info = dado;
this.proximo = next;
this.anterior = anterior;
}
public int getDado(){
return info;
}
public void setDado(int dado){
info = dado;
}
public Node getProximo(){
return proximo;
}
public void setProximo(Node prox){
proximo = prox;
}
public Node getAnterior(){
return anterior;
}
public void setAnterior(Node ant){
anterior = ant;
}
}
comecei a criar o metodo que insere mais não estou obtendo exito, se puderem ajudar agradeço
public class Soldado {
public Node cabeca;
public Node cauda;
public Soldado(){
cabeca = cauda = null;
}
public void insere(int n){
if(cabeca == null)
cabeca = cauda = new Node(n);
else
cabeca = cabeca.proximo = new Node(n, cabeca, cauda