diferentes tipos de listas doblemente ligadas

22
Inserción en una lista doblemente ligada

Upload: chalino95

Post on 11-Nov-2015

241 views

Category:

Documents


1 download

DESCRIPTION

Información sobre las listas doblemente ligadas

TRANSCRIPT

DIFERENTES TIPOS DE LISTAS DOBLEMENTE LIGADAS

Insercin en una lista doblemente ligadaEl proceso de insercin consta de dos partes : buscar donde insertar e insertarBuscar donde InsertarEl sub programa buscar donde insertar es idntico al de listas simplemente ligadas. Se recorre la lista comparando el dato de p con dato a insertar y se avanza con el campo de liga derecha. Se retorna tambin el registro a continuacin del cual hay que insertar un nuevo registro con dato d.

Instrucciones para insertar el registro X a continuacin del registro Y en el ejemplo

Borrado de la lista doblemente ligadaEl borrado de un registro consta tambin de los procesos buscar dato a borrar y borrar.

El proceso de buscar dato a borrar es mas sencillo que en las listas simplemente ligadas, ya que para cada registro conocemos fcilmente el registro anterior y el registro siguiente.

DIFERENTES TIPOS DE LISTAS DOBLEMENTE LIGADASLISTAS DOBLEMENTE LIGADAS

El campo de liga izquierda del primer registro es cero porque el primer registro no tiene anterior, y el campo de liga derecha del ultimo registro tambin vale cero porque el ultimo registro no tiene siguiente. LISTAS DOBLEMENTE LIGADAS CIRCULARES

En las listas doblemente ligadas circulares el campo de liga derecha del ultimo registro apunta hacia el ultimo registro de la listaEn las listas doblemente ligadas circulares se presentan los mismos problemas que se tenan con las lista simplemente ligadas circulares: las situaciones de lista vicia y de fin de recorrido se deben controlar con instrucciones diferentes.Algoritmos para los recorridos:

Para hacer recorridos dentro de este tipo de listas doblemente ligadas circulares debemos hacer un sub programa para cada uno de los lados que queremos recorrer

IZQUIERDADERECHA El proceso de insercin consta de dos partes: buscar donde insertar e insertar.

Este algoritmo retornara tambin un registro y, el cual apunta hacia el registro a continuacin del cual hay que insertar un nuevo registro.La variable y valdra 0 si el registro a insertar debe quedar de primero o si la lista esta vaciaBuscar donde insertar :

Insertar:Este algoritmo inserta el dato en la posicin que le indica el algoritmo anterior.

Las instrucciones 3 a 8 controlan la situacion de lista vacia.

Las instrucciones 9 a 13 controlan que el dato a insertar quede primero.

Dado que las instrucciones para insertar un registro son las mismas, debemos controlar la situacin en la cual hay que insertar el nuevo registro al principio de la lista (y=0).

En las instrucciones 18 a 20 consideramos esta situacin y actualizamos L si el registro a insertar ser el primeroLISTAS DOBLEMENTE LIGADAS CIRCULARES CON REGISTRO CABEZA

En las listas ligadas circulares con registro cabeza se tiene la ventaja de que la representacin de la lista vacia tiene como mnimo el registro cabeza:

Con esta nueva representacin vemos como se facilitan y se hacen mas eficientes los algoritmos para las operaciones bsicas sobre listas ligadas.