Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CONTENIDO
DEFINICION DE LISTAS ENLAZADAS CON CABECERA
CARACTERISTICAS
LISTAS CIRCULARES
OPERACIONES CON LISTAS CIRCULARES
LISTAS ENLAZADAS DOBLES
OPERACIONES CON LISTAS ENLAZADAS DOBLES
0 X
Primer nodo
Ultimo nodo
Primer nodo
Ultimo nodo
Características
En lo sucesivo las listas con cabecera serán siempre circulares por ello el nodo
cabecera actuara como centinela o marca que indica el final de la lista.
El puntero comienzo o Cab siempre apuntará al nodo cabecera, de acuerdo
con esto se tiene que Enlace cab = NULL, indicará que una Lista con cabecera
y tierra esta vacía, sin embargo Enlace (cab) nos indicará que la Lista esta
vacía es una Lista circular. Las Listas con cabecera y las Listas disponibles se
representan en memoria como si se tratara de una Lista enlazada normal.
Las Listas con cabecera se utilizan en lugar de las Listas enlazadas normales
debido a muchas operaciones, se pueden realizar e implementar más
fácilmente en las listas enlazadas normales debido dos propiedades siguientes:
1.- No se requiere utilizar el puntero NULL y por tanto los punteros contiene
direcciones validas.
2.- cada nodo normal tiene un predecesor, por lo que el primer nodo es un caso
especial.
4 0
5 999 77500 6
8 8 11
11 13
13 4
En este caso de listas circulares para referirse al nodo cabecera y su posición se indicará
Enlace cab y no solo cab como en las listas enlazadas normales.
Se utilizará variables punteros Ptr para recorrer la Lista circular
Ptr = enlace 5 = 9 (cab) y no Ptr = cab
Supongamos que se tiene en Memoria una Lista enlazada con cabecera almacenada y nos dan
Dado una lista circular, eliminar un nodo de la lista que se encuentra ubicado en
una posición determinada
Accion Eliminar_Lista_Circular( inf, Enlace, cab, elemento, disp)
Inicio
// La lista es circular con cabecera
// Llama a ENCLISTC para encontrar la posición determinada
PUNTERO PUNTERO
INF ANT SGTE
PRIMERO ULTIMO
O O
Cada nodo de una Lista enlazada doble puede implementarse como un
registro.
Registro Nodo
Inicio
T valor // valor del nodo de tipo T
Nodo *PS // Puntero al sucesor
Nodo *PA // Puntero al anterior
Fin
LUG A LUG B
NODO A NODO B
LUG
NODO ELIMINADO
Acción Eliminacion(v d)
inicio
v = dvalor
(dpa)ps =dps
(d —ps)pa=dpa
fin
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA
CURSO: ESTRUCTURA DE DATOS
PRACTICA Nº 03
LISTAS ENLAZADAS
1 Gomez Karla 7
CAB 2
5 3 Cox David 11
4 Lucas Max 12
5 Alva Abel 3
7 Lopez Laura 4
8 García Gloria 1
9 Perez Samuel 0
10
11 Diaz Francisco 8
12 Nuñez Nelson 9
20. La Biblioteca de la FISI a fin de encontrar informacion enforma rapida
Se pide crear las palabras o frases de interes.
La Figura Ejemplo de Listas enlazada de caracteres formando palabras
o frases.
1 7
CAB 2
9 3 O 6
4 T 0
6 --
7 X 10
9 N 3
10 I 4
11 E 7
12
13
Nº INF Puntero
(Alumno Nota) SGTE
ED 2 DIAZ 15 14
11 3 MAS 09 13
5 DAN 08 10
6 LUNA 11 9
7 LAN 15 16
INGLES 8 ZELA 09 0
5 9 PINO 08 8
10 HONG 12 7
11 ALVA 13 2
12
13 SULCA 12 0
14 GIL 16 6
15 2
16 LAY 13 3
17
21. Una empresa Comercial X tiene un conjunto de vendedores y
clientes, Cada vendedor tiene su lista de clientes. Sea el caso de
4 vendedores y cada vandedor con lista propia de clientes.
Se pide:
a) Adicionar a cada vendedor uno o mas clientes.
b) Mostrar la lista de clientes de cada vendedor despues de adicionar o
insertar
c) Eliminar uno o mas clientes por apellidos y nombres.
d) Mostrar la lista de clientes cada vendedor despues de eliminar.
e) Mostrar al cliente con mayor cantidad de clientes
Ejemplo: Sea na empresa con 4 vendedores y cada vendedor con su lista de cliente
1 BRAVO 12 1 MARIO 6
2 PEREZ 3 2
3 RAMIREZ 0 3 MARIA 14
4 SALAS 9 4 RAUL 0
6 VICTOR 0
8 JUAN 1
9 CARMEN 20
10 LUIS 4
11
12 ALONSO 17
13
14 DAVID 10
15 RONALD 0
16
17 CARLOS 8
18
19
20 JULIO 16
22. Sea el archivo de personal de una empresa organizado como se pide organizar y gestionar
esta informacion mediante listas enlazadas
Se pide
a) inserter un nuevo empleado.
b) eliminar un nodo de la Lista
c) Mostrar la lista enlazada despues de cada operación
d) convertir la enlazada simple a Lista circular
4 5
5 0
8 8 11
11 13
13 4