Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porAsdrubal Tello Modificado hace 9 años
1
Estructuras de Datos Dinámicas: Listas Programación I Departamento de Informática Universidad Nacional de San Luis Argentina 2014
2
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 2 Repaso (1) Nociones Generales –Agrupación de valores que por razones lógicas, se quiere conservar ‘juntos’. –Cómo se incorpora un nuevo elemento a la estructura. –Cómo se elimina o cambia un elemento que ya está en la estructura. –Cómo se busca un elemento, que ya está en la estructura, ya sea para conocerlo o inspeccionarlo, para eliminarlo de la estructura o para buscarle un lugar a uno nuevo.
3
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 3 Repaso (2) Estos tres últimos aspectos tienen que ver con las operaciones que pueden hacerse sobre la estructura de datos: Poner, Sacar, Inspeccionar. Orden, con respecto a las operaciones: Cronológico, No Cronológico. –Cómo se guardan los elementos en la estructura, es decir en qué orden se encuentran unos con respecto a los otros. Deben tener algún orden o estructura.
4
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 4 Repaso (3) Cuántos elementos se pueden guardar, capacidad de almacenamiento de la estructura: Estática / Dinámica. Identificar o seleccionar los elementos de la estructura: sin ambigüedad. Selector de la estructura, Unívoco. Explícito / Implícito. Tipo de los datos de los elementos de la estructura. A este tipo de dato le llamaremos tipo de dato base de la estructura. Simples / Compuestos. Homogéneo / Heterogéneo.
5
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 5 Estructuras de Datos Dinámicas: Listas (1) Capacidad: dinámica, crece y disminuye con las inserciones y supresiones Orden: No tiene orden cronológico de inserción o supresión. Secuencia. –unidireccional, 1º último
6
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 6 Estructuras de Datos Dinámicas: Listas (2) Elementos de una lista unidireccional o secuencia, llamados nodos, constan de dos partes: Variable de Información Propiamente Dicha (VIPD) puntero al elemento (nodo) siguiente en la lista. último elemento, el puntero no apunta a un elemento y se dice que su valor es nil
7
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 7 Estructuras de Datos Dinámicas: Listas (3) Operaciones –Inserción –Supresión –Copia –Predicados: isEmpty, isFull.
8
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 8 Estructuras de Datos Dinámicas: Listas (4) Selector de la lista: implícito cursor Operaciones sobre el cursor de la lista –Ir al primero: reset –Avanzar: forwards –Predicado: Fuera de la estructura (cursor = nil): isOos
9
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 9 Estructuras de Datos Dinámicas: Listas: Representación gráfica (4) Elemento i nil Cursor A vipd Puntero al siguiente Acceso a la lista
10
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 10 Cursor insert con lista vacía –isEmpty = true isOos = true –isEmpty = false isOos = false Z
11
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 11 Cursor insert con lista NO vacía –isEmpty = false isOos = false G i i P G i + 1
12
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 12 Cursor insert con lista NO vacía –isEmpty = false isOos = true –isEmpty = false isOos = false 7 7 4
13
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 13 Cursor suppress con lista NO vacía –isEmpty = false isOos = false i Y T i + 1 i T
14
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 14 Cursor suppress con lista NO vacía –isEmpty = false isOos = false –isEmpty = false isOos = true S D n n - 1 S n - 1
15
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 15 Cursor suppress con lista NO vacía –isEmpty = false isOos = false –isEmpty = true isOos = true R
16
#include “list_of_int.h”... /**** Imprime lista de enteros ****/ void printListaInt (list_of_int x) { reset(&x); while (!isOos(x)) { printf("%d ", copy(x)); forwards(&x); } printf("\n"); } /* fin de printListaInt */ Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas y TDA 16 Tipo de Datos Abstracto (TDA) (1) Ejemplo de uso (1)
17
#include “list_of_char.h”... /* ***** Buscar en lista de char ***** */ void buscaListaChar(list_of_char x, char y) { reset(&x); while (!isOos(x) && copy(x) != y) { forwards(&x); } if (!isOos(x)) printf(“%c esta en la lista\n”, y); else printf(“%c NO esta en la lista\n“, y); } /* fin de buscaListaChar */ Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas y TDA 17 Tipo de Datos Abstracto (TDA) (2) Ejemplo de uso (2)
18
#include “list_of_int.h”... /* ****** Copiar lista de int ****** */ void copiaListaInt (lista_of_int *x, lista_of_int y) { reset(&y); while (!isOos(y)) { insert(x, copy(y)); forwards(&y); } } /* fin de copiaListaInt */ Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas y TDA 18 Tipo de Datos Abstracto (TDA) (3) Ejemplo de uso (3)
19
Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 19 Fin … por suerte... ¿no? ;-)
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.