Listas + Ordenadas

Pessoal, eu sou novo praticamente em estrutura em Java. Então peço socorro com vc´s…To precisando de uma luz para fazer lista ordenada… Então eu fiz este codigo aqui:

public void insere(int v){
      No novo = new No();
      novo.setValor(v);
    
      
      if(primeiro==null){
        primeiro = novo;
      }else{
        novo.setProx(primeiro);
        novo = primeiro;
      }
    }

Então eu travei. Eu fico a imaginar como uma lista ja inserida pode ser ordenada??? Ai pensei. Dentro do metodo(insere) tem que haver um mode de ordenar uma lista. Mas o meu professor para dificultar quer pegar do ultimo numero inserido fazer um lista ordenada de ordem crecente. assim: 1 2 3 4.
sendo que inicialmente estava 3 1 4 2

Como faço para tirar essa trava minha pra resolver este problema?
grato pela ajuda.

Em estrutura de dados na matéria de lista encadeada quando me pediam para ordenar a lista eu passava os valores dos campos números através de um loop para um vetor e do vetor eu usava o java.util.Arrays, método sort e então ele alinhava. Aí era só passar de novo para lista encadeada.

É gambiarra…hahahaha
Mas funciona.

Abraço.

Pode usar a API? Se puder, faça assim:

[code]ArrayList lista =new ArrayList();
lista.add(new Integer(3));
lista.add(new Integer(2));
Collections.sort(lista);

[/code]

Turma eu agradeço a essas ideias… Porem eu ja usei e tomei uma do professor… Ele quer que faça na unha…
Agora eu to desenvolvendo um novo método de ordenação com muita unha …kkk
valeu… Se continuarem ajudar vai ser mais daora…

Claro que seu professor de estrutura de dados não vai gostar que você use a APi senão você nem precisaria cursar a materia dele.
Então porque voce não tenta manter a lista ordenada desde a primeira inserção e a cada inserção voce verificar qual a posição que aquele numero deve ser inscerido?
Aposto que ele ficaria bastante feliz se você uisasse algum dos algoritimos classicos de ordenação que essas API’s do Java provavelmente usam:
Segue alguns que voce pode usar:

http://pt.wikipedia.org/wiki/Quicksort#Java
http://pt.wikipedia.org/wiki/Bubble_sort

Agora pelo exemplo que voce deu não ficou claro se a lista é ordenada pelo indice ou pelo valor que o objeto possui.Acho que deve ser pelo valor,se for voce pode guardar qual o maior valor da lista,e verificar se o numero a ser inserido vai ser maior ou menor,se for maior insere depois do maior ou seja na ultima posicao,se for menor que o primeiro insere na primeira posição,se estiver entre os dois. Voce percorre do menor para o maior comparando o valor do numero se ele pode ser inserido e em qual poisção,espero ter ajudado
Boa sorte

Tentei usar o Collections.sort mas não deu muito certo:

[code]
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class NodoB{

 private List<Item> listaItens = new ArrayList<Item>();
 private List<NodoB> listaFilhos = new ArrayList<NodoB>();
 
 
 
 
 public NodoB(List<Item> listaItens, List<NodoB> listaFilhos) {
	super();
	this.listaItens = listaItens;
	this.listaFilhos = listaFilhos;
}

 public NodoB() {
	super();
}



/*
  * Se o nodo não tiver filhos retorna verdadeiro.
  * Caso contrário retona falso
  */
 public boolean ehFolha() {
	 if ( this.listaFilhos.isEmpty()) 	return true;
	 return false;
 }

 /*
  * Retorna a quantidade de itens que o nodo possui
  */
public int qtItens (){
	return this.listaItens.size();
}

/*
 * Insere um item no nodo
 */
public void insereItens ( Item item ) {
	this.listaItens.add ( item ) ;
	}

/*
 * Ordena os itens do nodo
 */
public void ordena () {
	Collections.sort(listaItens);

}

}[/code]

fr123,

Isso que voce postou nao se refere ao problema do nosso amigo gollun, certo?
Tente estudar Comparable e Comparator.
Voce precisara do primeiro para fazer sua Collections.sort funcionar…

Abraco.