Lista doblementeenlazada                   1
Nodopublic class Nodo {  private int data; // al macena el dato  private Nodo sig; //”liga” al próximo nodo  private Nodo ...
Operaciones de una lista doblemente enlazada   Añadir o insertar elementos.   Buscar elementos.   Borrar elementos.   ...
Añadir elemento a una lista vacía1-nodo = anterior y nodo=siguiente a NULL.                                             4
Insertar nuevo nodoCaso 1 Insertar nodo en la primera posición  Nuevo  nodoinsertaNodo( nodo)1-. Nodo=siguiente // debe ap...
Caso 2 Insertar un elemento en la última posiciónInsertarUltimo(nodo)1-. Nodo=siguiente y Lista=siguiente (NULL).2-. Lista...
Caso 3 Insertar un nodo en medio.InsertarMedio (nodo )1-. Nodo=siguiente apunte a lista=siguiente.2-. Lista=siguiente //ap...
EliminarCaso 1 Eliminar el único nodoEn este caso, ese nodo será el apuntado por Lista.1-. Eliminamos el nodo.2-. Hacemos ...
Caso 2Caso 2.1Eliminar el primer nodoeliminaPrimer( nodo)1-. Si nodo apunta a Lista // hacemos que Lista apunt   Lista=sig...
Caso 2.2 Eliminar un nodo intermedioeliminaMedio(nodo)1-. Si nodo apunta a Lista         Lista=siguiente2-. nodo= siguient...
Caso 3 Eliminar el último nodoeliminaUltimo(nodo)1-. Si nodo apunta a Lista        Lista=anterior.2-nodo=anterior=siguient...
ListaCircular           12
Circular   Una lista circular es una lista lineal en la    que el último nodo a punta al primero.     inicio             ...
Operaciones de una lista circularlas operaciones que se pueden realizar  sobre las listas circulares :   Añadir o inserta...
Insertar un elementoInsertar elemento en la lista vacía    lista apunta a nodo.    lista->siguiente apunte a nodo.Insert...
Eliminar un elemento de la lista        Eliminar el único nodo de la lista.    1.     lista = siguiente mientras lista = ...
Eliminar un elemento de la lista   Caso general    1.   Copiamos el contenido del nodo = siguiente sobre el contenido    ...
Próxima SlideShare
Cargando en…5
×

Estructuraskp

220 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
220
En SlideShare
0
De insertados
0
Número de insertados
6
Acciones
Compartido
0
Descargas
5
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Estructuraskp

  1. 1. Lista doblementeenlazada 1
  2. 2. Nodopublic class Nodo { private int data; // al macena el dato private Nodo sig; //”liga” al próximo nodo private Nodo ant; // ”liga” al anterior nodo} ant sig 2
  3. 3. Operaciones de una lista doblemente enlazada  Añadir o insertar elementos.  Buscar elementos.  Borrar elementos.  Moverse a través de la lista, siguiente y anterior. sig ant Inicio fin 3
  4. 4. Añadir elemento a una lista vacía1-nodo = anterior y nodo=siguiente a NULL. 4
  5. 5. Insertar nuevo nodoCaso 1 Insertar nodo en la primera posición Nuevo nodoinsertaNodo( nodo)1-. Nodo=siguiente // debe apuntar a Lista.2-. Nodo=anterior y Lista=anterior.3-. Lista=anterior //debe apuntar a nodo. 1null 2 Dato Dato Dato … 3 5
  6. 6. Caso 2 Insertar un elemento en la última posiciónInsertarUltimo(nodo)1-. Nodo=siguiente y Lista=siguiente (NULL).2-. Lista=siguiente // debe apuntar a nodo.3-. Nodo=anterior //apuntará a Lista. 2 Dato Dato Dato 1 3 null Dato 6
  7. 7. Caso 3 Insertar un nodo en medio.InsertarMedio (nodo )1-. Nodo=siguiente apunte a lista=siguiente.2-. Lista=siguiente //apunte a nodo.3-. Nodo=anterior //apunte a lista.4-. Nodo=siguiente=anterior // apunte a nodo. Dato Dato Dato null 4 3 2 1 Dato 7
  8. 8. EliminarCaso 1 Eliminar el único nodoEn este caso, ese nodo será el apuntado por Lista.1-. Eliminamos el nodo.2-. Hacemos que Lista apunte a NULL. 8
  9. 9. Caso 2Caso 2.1Eliminar el primer nodoeliminaPrimer( nodo)1-. Si nodo apunta a Lista // hacemos que Lista apunt Lista=siguiente.2-. Hacemos que nodo=siguiente=anterior// apunte a NULL3-. Borramos el nodo apuntado por nodo. 9
  10. 10. Caso 2.2 Eliminar un nodo intermedioeliminaMedio(nodo)1-. Si nodo apunta a Lista Lista=siguiente2-. nodo= siguiente3-. Nodo = anterior4-. Borramos el nodo apuntado por nodo 10
  11. 11. Caso 3 Eliminar el último nodoeliminaUltimo(nodo)1-. Si nodo apunta a Lista Lista=anterior.2-nodo=anterior=siguiente apunte a NULL3-. Borramos el nodo apuntado por nodo. 11
  12. 12. ListaCircular 12
  13. 13. Circular Una lista circular es una lista lineal en la que el último nodo a punta al primero. inicio fin 13
  14. 14. Operaciones de una lista circularlas operaciones que se pueden realizar sobre las listas circulares :  Añadir o insertar elementos.  Buscar o localizar elementos.  Borrar elementos.  Moverse a través de la lista 14
  15. 15. Insertar un elementoInsertar elemento en la lista vacía lista apunta a nodo. lista->siguiente apunte a nodo.Insertar elemento en una lista no vacía1. Hacemos que nodo = siguiente apunte a lista = siguiente.2. Después que lista = siguiente apunte a nodo. 15
  16. 16. Eliminar un elemento de la lista Eliminar el único nodo de la lista. 1. lista = siguiente mientras lista = siguiente sea distinto de nodo. 2. Hacemos que lista = siguiente apunte a nodo = siguiente. 3. Eliminamos el nodo. Eliminar un nodo en una lista circular con más de un elemento 1. Borramos el nodo apuntado por lista. 2. Hacemos que lista valga NULL. 16
  17. 17. Eliminar un elemento de la lista Caso general 1. Copiamos el contenido del nodo = siguiente sobre el contenido de nodo. 2. Hacemos que nodo = siguiente apunte a nodo = siguiente = siguiente. 3. Eliminamos nodo = siguiente. 4. Si lista es el nodo = siguiente, hacemos lista = nodo. 17

×