Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

viciado

Lista Encadeada

Recommended Posts

Como eu posso inserir um elemento em uma determina posição com lista encadeada, por exemplo uma lista em ordem crescente inserir um valor x na ordem ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que percorrer a lista, enquanto o valor do nó atual for menor do que o valor do nó a ser adicionado.

A partir do momento que isso já não for verdade, insira o nó ali no meio.

por exemplo:

def inserir_no(lista, no):
    no_aux = lista.raiz
    while no_aux.value <= no.value:
        pai = no_aux
        no_aux = no_aux.proximo

    pai.proximo = no
    no.proximo = no_aux

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que percorrer a lista, enquanto o valor do nó atual for menor do que o valor do nó a ser adicionado.

A partir do momento que isso já não for verdade, insira o nó ali no meio.

por exemplo:

def inserir_no(lista, no):
    no_aux = lista.raiz
    while no_aux.value <= no.value:
        pai = no_aux
        no_aux = no_aux.proximo

    pai.proximo = no
    no.proximo = no_aux

 

O que seria "pai"

 

O que eu entendi seria:

Tipo Elemento:

nodo = reg( info: elemento "Elemento de um nodo"
            prox: lista); "sucessor do nodo ou resto da lista"

Função:

func ins_ord(L: lista, v: valor) retorna valor;
    var aux: ref nodo;
    inicio
        aloque(aux);
        enquanto aux.info < v.info
                 "Aqui não entendi a parte que tem 'pai' "
        .
        .
        .

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.