Buscar um elemento en lista simples/ ligada

4 respostas
victorj

Oi pessoal, Gostaria que alguem me esclarece-se uma duvida q é a seguinte: Implemente o método para buscar um elemento numa lista simplesmente encadeada considerando todos os estados possiveis da lista, e retorne a posição do primeiro elemento na lista.

public int elementPos(int elem){…}

4 Respostas

davidbuzatto

Mas… qual é sua dúvida?

“e retorne a posição do primeiro elemento na lista” não seria “e retorne a posição do primeiro elemento encontrado na lista”?

Explique o problema q vc ta tendo em implementar o método.

victorj

sim esquecime, retornar a posição do 1 elemento encontrado na lista. Obrigado pelo alerta.

victorj

O método em geral não o consigo fazer em lista duplamente ligada dai a minha duvida de como fazer este algoritmo.

ksi

Olá Victorj, seja bem vindo ao fórum, evite duplicar tópicos ok?

Quanto a sua dúvida:

public int elementPos(int elem){
          No itr = cabeca;
          int i = 0;
          for(itr = cabeca;itr.prox !=null;itr = itr.prox)
          {
               if(itr.elemento == elem)
                    return i;
               else
                    i++;
          }
          return -1;//Caso não tenha encontrado o elemento
     }

O algorítimo funciona da seguinte forma: cria um elemento temporário com a mesma referência da cabeça e percorre todos os elementos(até o ultimo que o próximo é igual null) a procura de um nó da lista que tenha o elemento igual ao inserido no método. Caso ele não ache em posição alguma retorna -1.

Criado 3 de fevereiro de 2007
Ultima resposta 4 de fev. de 2007
Respostas 4
Participantes 3