public boolean inserirOrdenado(int chave) {
TadCelulaDuplEnc aux=primeiro.prox;
TadCelulaDuplEnc ant=primeiro;
TadCelulaDuplEnc ult=aux.prox;
System.out.println("imprimindo os valores de forma ordenada \n");
while(aux !=null && aux.valor<chave) {
ant=aux;
aux=ult;
if(ant.valor > aux.valor && aux.valor > ult.valor ) {
return false;
}
else {
TadCelulaDuplEnc nova = new TadCelulaDuplEnc(); // criar nova celula
ant.prox = nova; // faz a anterior apontar pra nova celula
nova.prox = aux.prox; //faz a nova celula apontar pra proxima depois de aux
aux.prox=ult.prox;
nova.valor = ant.valor; //nova celula recebe o valor da celula anterior
ant.valor = aux.valor; // celula anterior recebe o valor da celula aux
aux.valor=ult.valor;
return true;
}
}
return false;
}