Documente Academic
Documente Profesional
Documente Cultură
Clases
Templates
Algoritmos y estructuras de datos II Clase de Iteradores en C++
template <typename T>
class ArregloD {
T* arreglo;
int espacio;
int ultimo;
public:
ArregloD ();
ArregloD( int tamanio );
ArregloD(const ArregloD <T>& otroArreglo );
~ArregloD ();
void insertarAtras( const T& elem );
int tamanio () const;
const T& iesimo( int i ) const;
T& iesimo( int i );
};
Algoritmos y estructuras de datos II Clase de Iteradores en C++
Iteradores
Que es un iterador?
Que es un iterador?
Que es un iterador?
Que es un iterador?
Que es un iterador?
nd
count
replace
reverse
sort
random shue
min
max
Algoritmos y estructuras de datos II Clase de Iteradores en C++
Algoritmo de b usqueda de algorithm.h
template <class InputIterator , class T>
InputIterator find (
InputIterator first ,
InputIterator last ,
const T& value )
{
for (; first != last && *first != value; ++ first);
return first;
}
Algoritmos y estructuras de datos II Clase de Iteradores en C++
Tipos de iteradores
Los iteradores en C++ se separan en distintas categoras, lo que
permite implementar algoritmos genericos de distinta forma para
cada tipo de iterador:
1. Input
2. Output
3. Forward
4. Bidirectional
5. Random access
Para denir a que categora pertenece un iterador se utilizan
miembros de la clase iterator traits. Esto puede hacerse de
distintas formas, pero usualmente incluye herencia o
especializacion de templates por lo que queda fuera de este curso.
Algoritmos y estructuras de datos II Clase de Iteradores en C++
Recomendaciones al pasar del dise no a la implementacion
ON, SU
TEST, COMPILAR Y PROBAR ANTES DE SEGUIR.
Algoritmos y estructuras de datos II Clase de Iteradores en C++
Recomendaciones al pasar del dise no a la implementacion
ON, SU
TEST, COMPILAR Y PROBAR ANTES DE SEGUIR.
Algoritmos y estructuras de datos II Clase de Iteradores en C++
Recomendaciones al pasar del dise no a la implementacion
ON, SU
TEST, COMPILAR Y PROBAR ANTES DE SEGUIR.
Algoritmos y estructuras de datos II Clase de Iteradores en C++
Recomendaciones al pasar del dise no a la implementacion
ON, SU
TEST, COMPILAR Y PROBAR ANTES DE SEGUIR.
Algoritmos y estructuras de datos II Clase de Iteradores en C++
Recomendaciones al pasar del dise no a la implementacion
ON, SU
TEST, COMPILAR Y PROBAR ANTES DE SEGUIR.
Algoritmos y estructuras de datos II Clase de Iteradores en C++
Recomendaciones al pasar del dise no a la implementacion
ON, SU
TEST, COMPILAR Y PROBAR ANTES DE SEGUIR.
Algoritmos y estructuras de datos II Clase de Iteradores en C++
Recomendaciones al pasar del dise no a la implementacion
ON, SU
TEST, COMPILAR Y PROBAR ANTES DE SEGUIR.
Algoritmos y estructuras de datos II Clase de Iteradores en C++
Ejercicio
Implemente una clase Rosetree (un arbol con una cantidad
arbitraria de hijos) con un iterador preorder `a la C++.
Permita agregar y eliminar elementos a traves del iterador
retornando un iterador nuevo cuando corresponda.
Puede hacer uso de las listas enlazadas y los algoritmos sobre
iteradores de la librera standard:
#include <list >
#include <algorithm >
En la pagina http://www.cplusplus.com/reference/ pueden
encontrar la documentacion de estos modulos.
Algoritmos y estructuras de datos II Clase de Iteradores en C++