algoritmos sobre listas

Es habitual recorrer las listas en orden

algoritmos iterativos

algoritmos recursivos

Nodo nodo = cabecera;

while (nodo != null) {

    haz algo con nodo

    nodo = nodo.getSiguiente();

}

haz(cabecera);

 

 

... haz(Nodo nodo) {

    if (nodo != null) {

        haz algo con nodo

        haz(nodo.getSiguiente());

   }

}

for (Nodo nodo = cabecera;

     nodo != null;

     nodo = nodo.getSiguiente()) {

    haz algo con nodo

}

Nodo anterior = null;

Nodo nodo = cabecera;

while (nodo != null) {

    haz algo con anterior y nodo

    anterior = nodo;

    nodo = nodo.getSiguiente();

}

haz(null, cabecera);

 

 

... haz(Nodo anterior, Nodo nodo) {

    if (nodo != null) {

        haz algo con anterior y nodo

        haz(nodo,

            nodo.getSiguiente());

    }

}

Nodo anterior= null;

for (Nodo nodo= cabecera;

     nodo != null;

     nodo = nodo.getSiguiente()) {

    haz algo con anterior y nodo

    anterior = nodo;

}

 

Temas relacionados

111. Listas encadenadas [linked lists] (estructura de datos)