Ordenar Lista Dinamica

Estou com um probleminha na inserção de elementos na minha lista dinamica.

Veja o código do evento:

public static void Insere(String Name, String Pass, String Sex){
no temp = new no(Name, Pass, Sex, null);

	if(L == null)
		L = temp;
	else if(Name.compareToIgnoreCase(L.nome) < 0){
		temp.prox = L;
		L = temp;
	}	
	else{
		no aux = L;

		while(aux.prox != null && aux.prox.nome.compareToIgnoreCase(Name) < 0)
			aux = aux.prox;
		if(aux.prox == null)
			aux.prox = temp;
		else{
			aux = temp;
			temp.prox = aux.prox;
			
		}
	}
}

Percebam que quando o elemento a inserir é menor que o primeiro e quando ele é maior que o utlimo tudo funciona, meu problema é quando quero inserir entre os elementos da lista, por exemplo, tenho A e C inseridos quando quero inserir o B ele não funciona.

Se alguem puder analisar a questão e me responder agradeço…

opa blz escuta qnd postar coloque seu codigo entre “code”, e outra pq vc quer fzr isso c api nativa do java ja tem tudo isso, monte sua List e depois so mandar esse comando

Collections.sort(suaLista);

pronta esse metodo ja ordena sua lista.

Meu amigo, entenda que estou trabalhando com uma lista dinamica que segue uma classe no que tem por paramentro (String, String, boolean e null). Sua Lista não satisfaz minha condição.

[code]public static void Insere(String Name, String Pass, String Sex){
no temp = new no(Name, Pass, Sex, null);

if(L == null)
L = temp;
else if(Name.compareToIgnoreCase(L.nome) < 0){
temp.prox = L;
L = temp;
}
else{
no aux = L;

while(aux.prox != null && aux.prox.nome.compareToIgnoreCase(Name) < 0)
aux = aux.prox;
if(aux.prox == null)
aux.prox = temp;
else{
aux = temp;
temp.prox = aux.prox;

}
}
}
[/code]