Socorro: Dúvida para inserir no inicio de uma lista simples. encad. ordenada

1 resposta
C
public void insere(int elemento){  
  	Celula aux = new Celula(elemento, null);
	Celula celula = primeiro.seguinte;
		
	
	while(celula !=null && celula.seguinte != null && (celula.seguinte.elemento < aux.elemento)){//aqui é acondiçãod e parada, o while termina aqui e eu tenho q a celula aux.seguinte é a celula a ser inserida
			if(aux.elemento < celula.elemento){
				primeiro.seguinte = aux;
				System.out.println(primeiro.elemento);
		}
	celula = celula.seguinte;
	}
		

		if(celula.seguinte == null){ // celula.seguinte = aponta pra ultima celula e vê se é null.. se for é pq acabou
		ultimo.seguinte = aux;
		ultimo = ultimo.seguinte;}
		
	//System.out.println(celula.elemento); = 3
	//System.out.println(primeiro.elemento); = 0
	//System.out.println(aux.elemento); = 1
	
		else{		
		aux.seguinte = celula.seguinte;  
      celula.seguinte = aux; 	
		}
		
	
	
}

No meio dela.. no fim.. funcionam lindamente.. mas no final n, já testei de várias maneiras e nd.. :oops:

1 Resposta

C

Aproveitando, estou pesquisando sobre a duplamente encadeada e vi que ela anda p/ frente e p/ trás.

Ok, mas n achei como fazer… então tenho uma pergunta:

Para eu andar com ela para tras, eu devo usar uma aux que vai uma posição anterior a q eu quero e depois aponto pra que eu quero?

Criado 23 de agosto de 2011
Ultima resposta 23 de ago. de 2011
Respostas 1
Participantes 1