Lista duplamente encadeada

1 resposta
M

algúem pode me ajudar com um pseudocódigo ou mesmo em java como fazer:

  • buscar um elemento em uma lista encadeada, considerando um valor “x” informado pelo usuário;
    -remover um elemento em uma lista duplamente encadeada considerando um valor “x” informado pelo usuário;
    -inseriri elementos em uma lista duplamente encadeada considerando uma seqûencia decrescente e utilizando o método bolha como algorítmo.
    vlw

1 Resposta

Kknd

Cara, procura no google que ta cheio disso. Mas funcionam ais ou menos assim (tinha feito em C, mas pra Java vai ter mesma lógica)

Pra buscar:

  • Cheque se a posição que você quer está mais próxima do fim ou do início;
  • O descritor da lista vai ter que ter duas referencias: uma para o ultimo nó, e ouro para o primeiro nó, e cada nó vai ter que ter no mínimo 3 campos: refeferncias para o anterior, referencias para o proximo e referencia para os dados.
  • Vá percorrendo, usando uma variavel (tipo um int x) para contar quantas posicóes voce andou, e checa pra ver se a posicao é a que voc"ê quer.
  • Achou? no caso de C: memcpy nos dados e retorna sucesso =) hehe. Você pode retornar os dados, senào retorna um fracasso ou lança uma execao ou algo do gênero.

(to no teclado da facul, muito rum de digitar os acentos)

Para inserir, você tem que fazer a busca ate a posicao desejada, e muda as referencias do no anterior e posterior para o novo no inserido.
S’tome cuidado que você vai ter 3 tipos de insercao (talvez 4):

  1. Insercao no inicio
  2. Inserao no fim
  3. insercao no meio
  4. A lista esta vazia, entao faca com que as referencias inicio e fim do descritor apontem para o novo nó.

É mais ou menos isso. Aqui você pode encontrar material: http://www.joinville.udesc.br/portal/professores/alexandre/

Valeu.

Criado 16 de novembro de 2006
Ultima resposta 16 de nov. de 2006
Respostas 1
Participantes 2