LISTAS..

Slides:



Advertisements
Presentaciones similares
Clases en C++.
Advertisements

Listas enlazadas c++ Prof. Franklin Cedeño.
Programación, Algoritmos y Estructuras de Datos
POO en C++: Sintaxis En el .h debe aparecer la declaración de la clase: class NombreClase { private: // atributos y métodos privados public: // atributos.
9A9A9A9A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática.
INFORMATICA I Funciones CLASE 13.
Programación en C (Segunda Parte) DATSI, FI, UPM José M. Peña
Tratamiento de listas en Java
Tema 4 Árboles. Conceptos Generales..
Listas. Conceptos Generales..
Implementación de Listas
SOBRECARGA DE FUNCIONES
Cont. Arbol Binario de Búsqueda
L ISTAS E NLAZADAS No son mas que un conjunto o lista de objetos que a diferencia de los vectores, estas poseen la capacidad de crecer o decrecer. Por.
Introducción a clases Programación Orientada a Objetos.
Estructuras dinámicas de datos, TAD Lista, parte 2
ÁRBOLES BINARIOS DE BÚSQUEDA
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
Árboles binarios de búsqueda
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
Unidad VI Registros (estructuras, uniones y enumeraciones)
Árboles Binarios Estructuras de Datos.
Dinamismo y Contenedores Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires (C++ Avanzado) Depto. de Computación Algoritmos y Estructuras.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
1 Asignación Dinámica de Memoria Agustín J. González ELO 329.
LENGUAJE “C” Programación.
PUNTEROS. Los punteros son de amplia utilización en programación y muchos lenguajes permiten la manipulación directa o indirecta de los mismos. Su razón.
1 ListaUna Lista se define como una serie de N elementos E 1, E 2,..., E N, ordenados de manera consecutiva, es decir, el elemento E k (que se denomina.
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: LISTAS.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
BUSQUEDAS BINARIAS Y SECUENCIALES Hernández Salazar Alma Pérez González Luis Alberto Villa Méndez Edgar Adrián Villegas Titla Jorge Ramsés Ríos Álvarez.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Árboles binarios. Algoritmos básicos
IntroducciÓn a los Arreglos (“arrays”) en C++
BREVE INTRODUCCION A LA PROGRAMACION
Estructuras PILA - COLA - LISTA.
Tema 3 Árboles. Conceptos Generales. Curso 2014/2015 ETSISI UPM.
MANEJO DE ARRELOGS EN C Clase 8: Arreglos.
Clase Lista C++ Estándar
Definición y Conversión de datos
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2016
Memorias Una memoria es un espacio en el cual se puede almacenar información y es análogo a un arreglo o array en programación convencional. En VHDL una.
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Estructuras de datos y algoritmos
Listas Dinámicas.
Manejo de Punteros y objetos en memoria dinámica en C++
Árboles clase 6 Apoyo de Práctica. Resumen ●Árboles ○Concepto ○Características ○Dinámica ○Recorridos o barridos. ●Ejercicio Sugerido.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Árboles (Trees) Árboles Árboles binarios Recorridos de árboles
Estructuras Dinámicas
Listas ligadas Dra. María de Lourdes López García
UNIDAD 3 LISTAS LISTAS CIRCULARES Integrantes: Galmiche Vera Orlando Mandujano González Ramón Enrique Salvador Magaña Kelyn Osmara.
Arboles. Árboles ¿Qué son? Son Estructuras de datos “No lineales”” ¿Para que se utilizan? Representar Fórmulas Algebraicas Organizar Objetos Inteligencia.
ÁRBOLES DE EXPRESION. Un árbol de expresión sirve para evaluar expresiones del tipo: (a+b)*c/d Para que un árbol represente una expresión se deben tomar.
Informática Ingeniería en Electrónica y Automática Industrial
Árboles Binarios Estructuras de Datos.
Algunas Características de C++ no presentes en C
Manejo de Punteros y objetos en memoria dinámica en C++
Guía teórica de manejo de estructuras de datos
IPOO 2 cuatrimestre 2018 Departamento de Ciencias e Ingeniería
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Asignación Dinámica de Memoria
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Árboles Binarios Estructuras de Datos. Las estructuras dinámicas son las en la ejecución varia el número de elementos y uso de memoria a lo largo del.
VARIABLE Y TIPO DE DATOS. ¡Que Es Variable? Un lugar para almacenar información en un espacio de memoria de la computadora.
Transcripción de la presentación:

LISTAS.

Definición Estructura de datos lineal. Colección de elementos homogéneos entre los que existe una relación lineal Para cada elemento, se puede decir cuál es su sucesor (en caso de existir). Cada elemento de la lista, a excepción del primero, tiene un único predecesor Cada elemento de la lista, a excepción del último, tiene un único sucesor Colección de nodos enlazados entre sí Los elementos de un array se distinguen por su posición, éstos pueden seleccionarse arbitrariamente y son accesibles mediante el índice de selección del componente Lista Nodo1 Nodo2 Nodo n

Ejemplo Los elementos de un array se distinguen por su posición, éstos pueden seleccionarse arbitrariamente y son accesibles mediante el índice de selección del componente

Clasificación de Listas Por la naturaleza de la información: Ordinales: la posición de los elementos en la estructura la determina su orden de llegada. Calificadas: Cada elemento de la lista se identifica por un valor único (clave). En función de que exista o no relación entre la clave y la posición pueden ser: no ordenadas y ordenadas. Por la forma de ocupar el espacio físico: Listas densas: la posición de un elemento es: 1 si es el primer elemento. n si el elemento anterior es n-1. Listas enlazadas: la posición de un elemento es: k si es el primer elemento, siendo k conocido. j si no es el primer elemento, posición contenida en el elemento anterior. Por el tipo de tecnología: En memoria central: estáticas y dinámicas. En memoria externa (no se contemplan en la asignatura).

Tratamiento de listas en C++

Modelo. 10 12 21 13 Lista inicio NodoLista NodoLista NodoLista NULL Lista inicio NodoLista dato sig dato sig dato sig dato sig NodoLista NodoLista NodoLista

Aspectos sintácticos: clase NodoLista La estructura de datos que representa los nodos de una lista se desarrolla en un fichero de encabezado (NodoLista.h). Se deben declarar: Las variables miembro (clave y sig). El/los constructor/es. [Opcional] Otros métodos que vayan a ser utilizados por objetos externos. Código: #ifndef NODOLISTA_H_ #define NODOLISTA_H_ class NodoLista { public: int clave; NodoLista *sig; NodoLista(int x, NodoLista *n) { clave = x; sig = n; } }; #endif /* NODOLISTA_H_ */

Aspectos sintácticos: clase Lista. La clase Lista identifica un puntero a un objeto (o NULL). La declaración de la clase Lista debe incluir: Las variables miembro. El/los constructor/es. [Opcional] Otros métodos que vayan a ser utilizados por objetos externos. Ejemplo: #include "Lista.h" //constructor Lista::Lista() { inicio = NULL; } //destructor Lista::~Lista() { pNodo aux; while (inicio != NULL) { aux = inicio; inicio = inicio->sig; deleta aux;

Ejemplo de tratamiento de listas . Ejemplo de tratamiento de listas

Recorrido completo de la lista. Mostrar el contenido de una lista. void llamadaEscribirLista (Lista &lista) { escribirLista (lista.inicio); return; } void escribirLista (pNodo nodo) { if (nodo != NULL) { cout << nodo->dato << " "; escribirLista (nodo->sig); else cout << "FIN" << endl;