Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


TDA: Tipos de Contenedores Básicos (Sets, Colas, Diccionarios, Vectores y Listas) - Prof. , Apuntes de Ingeniería Infórmatica

Una descripción detallada de los tipos de contenedores básicos en c++, incluyendo sets, colas, diccionarios, vectores y listas. Se explican sus especificaciones, operaciones y ejemplos de uso. Además, se comparan sets y multisets, y se presentan ejemplos de uso de sets y multisets.

Tipo: Apuntes

2016/2017

Subido el 27/11/2017

anthercas
anthercas 🇪🇸

3 documentos

1 / 199

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Tema 3
TDAs contenedores
básicos
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Vista previa parcial del texto

¡Descarga TDA: Tipos de Contenedores Básicos (Sets, Colas, Diccionarios, Vectores y Listas) - Prof. y más Apuntes en PDF de Ingeniería Infórmatica solo en Docsity!

Tema 3

TDAs contenedores

básicos

Objetivos Generales

Entender el concepto de contenedor Conocer los principales tipos de contenedores básicos Resolver problemas usando contenedores Entender el concepto de iterador y ser capaz de usarlos.

Introducción a los contenedores

Un contenedor es una colección de objetos dotado de un conjunto de métodos para gestionarlos (acceder a ellos, eliminarlos, añadir nuevos objetos, etc.). Los contenedores se pueden clasificar según distintos criterios, pero la fundamental es la forma de organización: Lineal, jerárquica, interconexión total

Introducción a los contenedores

También se diferencia por las formas de acceder a los componentes:

  • secuencial
  • directa
  • por clave (también conocidos como asociativos)

Contenedores directos

Garantizan acceso a cualquier componente en tiempo constante: Vector dinámico (vector)

Contenedores asociativos

Gestionan los datos mediante claves que los identifican (por ejemplo, DNI) y permiten su recuperación eficiente a partir de ellas. Conjunto (set) Bolsa (multiset) Diccionario (map)

El contenedor Cola ( queue )

Contenedor, representado como una sucesión de objetos que limita la forma en que éstos se añaden a ella, al igual la manera de abandonarla. Así, una cola sólo permite introducir objetos por un extremo de la sucesión, final , y la recuperación por el opuesto, frente. Los elementos se ubican en estricto orden de llegada. (Secuencia FIFO).

El contenedor Cola con Prioridad

( priority_queue )

Tipo especial de cola en la que se siguen cumpliendo las restricciones en cuanto a los lugares por donde se realiza la inserción y acceso de los elementos. Pero en este caso los elementos no se disponen según su orden de llegada, sino de acuerdo a algún tipo de prioridad.

El contenedor Bolsa ( multiset )

Análogo a un conjunto, pero permitiendo valores repetidos.

El contenedor Diccionario ( map )

Estructura de almacenamiento que implementa una relación ``clave-valor''. Permite almacenar valores identificados por claves únicas, y recuperarlos previamente mediante éstas.

El contenedor Lista ( list )

Contenedor que almacena sus elementos en forma de sucesión, permitiendo, por tanto, el acceso secuencial a ellos. Cada elemento establece quién es el siguiente de la sucesión.

Abstracción por iteración: el

concepto de iterador

Son generalizaciones de punteros: objetos que “señalan” a otros objetos (pero no son punteros!!). Se utilizan para iterar (moverse) sobre un rango de objetos de manera independiente del tipo de contenedor donde estén incluidos. Permitirán acceder a elementos del contenedor, modificarlos, borrarlos o insertar nuevos.

Especificación iteradores STL

Especificaremos las operaciones de los iteradores comunes a los contenedores set , multiset , map , vector y list. Para especificar los TDAs iterator y const_iterator, utilizaremos genéricamente el TDA contenedor.

Especificación iteradores STL (I)

Declaración de iteradores: contenedor::iterator miIterador; contenedor::const_iterator miIteradorConst; Ejemplo: list::iterator iterListaDouble; map<String,int>::const_iterator iterDiccConst;