Carrera ingenieria de sistemas
This presentation is the property of its rightful owner.
Sponsored Links
1 / 5

CARRERA INGENIERIA DE SISTEMAS PowerPoint PPT Presentation


  • 70 Views
  • Uploaded on
  • Presentation posted in: General

CARRERA INGENIERIA DE SISTEMAS. Tema: Listas doblemente Enlazadas. Docente: Lic. Israel Torrez Valverde. Universitarios: Ricardo Gonzales Jimenez Wilfredo Coca Reinaldo Yohan. LISTAS DOBLEMENTE ENLAZADAS. DEFINICION:.

Download Presentation

CARRERA INGENIERIA DE SISTEMAS

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Carrera ingenieria de sistemas

CARRERA INGENIERIA DE SISTEMAS

Tema:

Listas doblemente Enlazadas

Docente:

Lic. Israel Torrez Valverde

Universitarios:

Ricardo Gonzales Jimenez

Wilfredo CocaReinaldo

Yohan


Listas doblemente enlazadas

LISTAS DOBLEMENTE ENLAZADAS

DEFINICION:

Las listas doblemente enlazadas son estructuras de datos semejantes a las Listas Enlazadas Simples.La asignación de memoria es hecha al momento de la ejecución.

Una lista doblemente enlazada es una lista lineal en la que cada nodo tiene dos enlaces, uno al nodo siguiente, y otro al anterior.

El nodo típico es el mismo que para construir las listas que hemos visto, salvo que tienen otro puntero al nodo anterior:

struct nodo

{

int dato;

struct nodo *siguiente;

struct nodo *anterior;

};


Listas doblemente enlazadas1

LISTAS DOBLEMENTE ENLAZADAS

OPERACIONES SOBRE LA LISTA DOBLEMENTE ENLAZADA:

  • A. Declaracion de tipo, para manejar listas doblemente enlazadas

  • B. Inserción de un elemento en la lista

  • 1. Inserción en una lista vacía

  • 2. Inserción al inicio de la lista

  • 3. Inserción al final de la lista

  • 4. Inserción antes de un elemento de la lista

  • 5. Inserción después de un elemento de la lista

  • C. Eliminación de un elemento de la lista

  • 1. Eliminación en la posición 1 en una lista con un solo elemento

  • 2. Eliminación en la posición 1 en una lista con varios elementos

  • 3. Eliminación en la ultima posición (el ultimo elemento)

  • 4. Eliminación en otra parte de la lista en cierta posición

  • D. Visualización de la lista

  • E. Destrucción de la lista


Listas doblemente enlazadas2

LISTAS DOBLEMENTE ENLAZADAS

INSERCION DE UN ELEMENTO EN LA LISTA:

INSERCION EN UNA LISTA VACIA

  • Modelo de la función: int ins_en_lista_vacia (dl_Lista *lista, char *dato);Partiremos de que ya tenemos el nodo a insertar y, por supuesto un puntero que apunte a él, además el puntero que define la lista, que valdrá NULL:

  • El proceso es muy simple, bastará con que:

    • lista apunta a nodo.

    • lista->siguiente y lista->anterior apunten a null.


Listas doblemente enlazadas3

LISTAS DOBLEMENTE ENLAZADAS

INSERCION DE UN ELEMENTO EN LA LISTA:

INSERCION AL INICIO DE LA LISTA

Partimos de una lista no vacía. Para simplificar, consideraremos que lista apunta al primer elemento de la lista doblemente enlazada:

Insertar en primera posición

El proceso es el siguiente:

nodo->siguiente debe apuntar a Lista.

nodo->anterior apuntará a Lista->anterior.

Lista->anterior debe apuntar a nodo.

Nodo insertado en primera posición

Recuerda que Lista no tiene por qué apuntar a ningún miembro concreto de una lista doblemente enlazada, cualquier miembro es igualmente válido como referencia.


  • Login