Listasdoblementeencadenadas1 110523210817 Phpapp01
Estructuras de Datos
Tema: Listas Doblemente Encadenadas
Las Listas doblemente encadenas tienen la siguiente estructura:
nodo
Nodoanterior
Nodosiguiente
Nododato
La estructura esta clasificada con tres elementos:
1.El tipo de Estructura se llama Nodo
2.Nodoanterior hace referencia a la dirección de otro nodo
3.Nodosiguiente hace referencia a la dirección deotro nodo
4.Nododato es la parte en donde se almacena información.
UNIVERSIDAD ANTONIO NARIÑO
Estructuras de Datos
Tema: Listas Doblemente Encadenadas
EJEMPLO C++:
nodo
Struct nodo {
int valor;
struct nodo *anterior,
struct nodo *siguiente,
};
Nodoanterior
Struct nodo *cab, *cola, *nuevo;
Nodosiguiente
Nodovalor
Pedir memoria para los nodos:
Tenemos que definir una constante con el tipode estructura para que nos reserve memoria dinámica
#define Localizar = (struct *nodo) malloc (size(struct nodo)
UNIVERSIDAD ANTONIO NARIÑO
Estructuras de Datos
Tema: Listas Doblemente Encadenadas
EJEMPLO C++:
Struct nodo {
int valor;
struct nodo *anterior,
struct nodo *siguiente,
};
Struct nodo *cab, *cola, *nuevo;
001A
nuevo
Primer Nodo:
nuevo = Localizar
Dirección de la EstructuraUNIVERSIDAD ANTONIO NARIÑO
Estructuras de Datos
Tema: Listas Doblemente Encadenadas
EJEMPLO C++:
Struct nodo {
int valor;
struct nodo *anterior,
struct nodo *siguiente,
};
Struct nodo *cab, *cola, *nuevo;
001A
nuevo
nuevoanterior
Primer Nodo:
nuevo = Localizar
nuevoanterior = NULL;
NULL
Dirección de la Estructura
UNIVERSIDAD ANTONIO NARIÑO
Estructuras de Datos
Tema: Listas DoblementeEncadenadas
EJEMPLO C++:
Struct nodo {
int valor;
struct nodo *anterior,
struct nodo *siguiente,
};
Struct nodo *cab, *cola, *nuevo;
Dirección de la Estructura
001A
nuevo
nuevoanterior
Primer Nodo:
nuevo = Localizar
nuevoanterior = NULL;
nuevosiguiente = NULL;
NULL
NULL
nuevosiguiente
UNIVERSIDAD ANTONIO NARIÑO
Estructuras de Datos
Tema: Listas Doblemente Encadenadas
EJEMPLO C++:
Structnodo {
int valor;
struct nodo *anterior,
struct nodo *siguiente,
};
Struct nodo *cab, *cola, *nuevo;
Dirección de la Estructura
001A
nuevo
nuevoanterior
NULL
50
NULL
nuevosiguiente
nuevovalor
Primer Nodo:
nuevo = Localizar
nuevoanterior = NULL;
nuevosiguiente = NULL;
Cout << “Favor ingresar Datos”;
Cint >> nuevovalor; //supongamos que el usuario ingresa el Número 50 y Enter.UNIVERSIDAD ANTONIO NARIÑO
Estructuras de Datos
Tema: Listas Doblemente Encadenadas
EJEMPLO C++:
Struct nodo {
int valor;
struct nodo *anterior,
struct nodo *siguiente,
};
Struct nodo *cab, *cola, *nuevo;
nuevoanterior
Dirección de la Estructura
001A
NULL
50
NULL
nuevosiguiente
nuevovalor
Primer Nodo:
nuevo
cab
nuevo = Localizar
nuevoanterior = NULL;
nuevosiguiente = NULL;
Cout << “Favoringresar Datos”;
Cint >> nuevovalor; //supongamos que el usuario ingresa el Número 50 y Enter.
cab = nuevo;
UNIVERSIDAD ANTONIO NARIÑO
Estructuras de Datos
Tema: Listas Doblemente Encadenadas
EJEMPLO C++:
Struct nodo {
int valor;
struct nodo *anterior,
struct nodo *siguiente,
};
Struct nodo *cab, *cola, *nuevo;
Dirección de la Estructura
001A
nuevosiguiente
nuevoanterior
NULL
50NULL
nuevovalor
Primer Nodo:
nuevo
cab
cola
nuevo = Localizar
nuevoanterior = NULL;
nuevosiguiente = NULL;
Cout << “Favor ingresar Datos”;
Cint >> nuevovalor; //supongamos que el usuario ingresa el Número 50 y Enter.
cab = nuevo;
cola = nuevo;
UNIVERSIDAD ANTONIO NARIÑO
Estructuras de Datos
Tema: Listas Doblemente Encadenadas
No ta:
En las listas doblemente encadenas podemos adicionar nodostanto a
la derecha como a la izquierda.
Primer Nodo
nodo
Nodoanterior
Alimentar a la Izquierda
q
qanterior
qvalor
Nodosiguiente
Alimentar a la Derecha
Nododato
q
nuevo
cab
cola
q siguiente
qanterior
qvalor
q siguiente
Ing. Heiver Cuesta Dávila
INICIO
AGREGAR A LA IZQUIERDA
UNIVERSIDAD ANTONIO NARIÑO
Estructuras de Datos
Tema: Listas Doblemente Encadenadas
Ejemplo de...
Regístrate para leer el documento completo.