Lista duplamente encadeada

public class CaixaDupla {
	private int valor;
	private CaixaDupla prox,ant;
	
	CaixaDupla() {
		valor = 0;
		prox = null;
		ant = null;
	}
	
	//SETs
	public void setValor(int vv) {
		this.valor = vv;
	}
	
	public void setProx(CaixaDupla pp) {
		this.prox = pp;
	}
	
	public void setAnt(CaixaDupla aa) {
		this.ant= aa;
	}
	
	//GETs
	public int getValor() {
		return this.valor;
	}
	
	public CaixaDupla getProx() {
		return this.prox;
	}
	
	public CaixaDupla getAnt() {
		return this.ant;
	}
}
public class ListaDupla {
	
	public ListaDupla() {
		controle = new CaixaDupla();
		controle.setValor(0);
		controle.setAnt(null);	
		controle.getProx(null);
		ant = null;
		cx = null;
		aux = null;
	}
	
	private CaixaDupla controle, ant,valor,prox;
	
	public void Criax(int v) {
		cx = new CaixaDupla(v);
		controle.setValor(v);
		
		if (controle.getValor() == 0) {
			controle.setAnt(cx);
			controle.setProx(cx); 
			ant = cx;
		} else {
			prox = ant;
			
			while(prox!null) {
				prox = aux;
				prox = aux.getProx();
				
				if (prox < ant.getValor()) {
					controle.setAnt(cx);
					controle.setProx(aux);
					return;	
				}
			}
		}
	}
}
class UsaListaDupla {
	
	public static void main() {
		ListaDupla x;
	}
}

Alguém teria o material pronto sobre o assunto, estou perdida.

https://www.caelum.com.br/apostila-java-estrutura-dados/listas-ligadas/

1 curtida