Página principal   Lista alfabética   Lista de componentes   Lista de archivos   Miembros de las clases   Páginas relacionadas  

Referencia de la Clase Conjunto

T.D.A. Conjunto. Más...

#include <conjunto.h>

Lista de todos los miembros.

Tipos públicos

typedef const_iterador iterador
 Tipo iterador también de sólo lectura. Más...


Métodos públicos

 Conjunto ()
bool insertar (T e)
 Añadir un elemento. Más...

bool borrar (T e)
 Eliminar un elemento. Más...

bool pertenece (T e) const
 Consultar la existencia de un elemento. Más...

bool vacio () const
 Conjunto Vacío. Más...

int num_elementos () const
 Cardinal del conjunto. Más...

const_iterador begin () const
const_iterador end () const

Métodos privados

bool posicion_elemento (int &pos, T e) const
 Localizador de una posición en v. Más...


Atributos privados

Vector<T> v
int nelementos


Descripción detallada

template<class T> class Conjunto

T.D.A. Conjunto.

Una instancia c del tipo de datos abstracto Conjunto sobre el tipo T es un conjunto de números de tipo T.

El número de elementos del conjunto se denomina cardinal o tamaño del conjunto. Un conjunto de tamaño cero se denomina vacío. Lo podemos representar como

{e1,e2,e3...,en}

donde n es el número de elementos del conjunto. La eficiencia en espacio es O(n).

Un ejemplo de su uso:

#include <iostream>
#include <cassert>
#include <string>
#include <conjunto.h>
using namespace std;

void mostrar_conjunto(const Conjunto<int>& c, string encabezado)
{
  cout << encabezado << endl;
  cout << "  El conjunto tiene " << c.num_elementos() << " elementos" << endl;
  for (Conjunto<int>::iterador p=c.begin();p!=c.end();++p)
    cout <<  "  "<< *p;
  cout << endl;
}

int main()
{
  Conjunto<int> c1,c2;

  for (int i=0;i<10;i++)
    c1.insertar(i);
  for (int i= 5;i<15;i++)
    c2.insertar(i);

  mostrar_conjunto(c1,"Primer Conjunto");
  mostrar_conjunto(c2,"Segundo Conjunto");

  Conjunto<int> res;
  for (Conjunto<int>::iterador p=c1.begin();p!=c1.end();++p)
    res.insertar(*p);
  for (Conjunto<int>::iterador p=c2.begin();p!=c2.end();++p)
    res.insertar(*p);
    
  mostrar_conjunto(res,"Unión de conjuntos");

  return 0;
}

Autor:
Antonio Garrido
Fecha:
Marzo-2002

Definición en la línea 34 del archivo conjunto.h.


Documentación de los 'Tipos Definidos' miembros de la clase

template<class T>
typedef const_iterador Conjunto<T>::iterador
 

Tipo iterador también de sólo lectura.

El tipo iterador se hace equivalente a const_iterador. El tipo Conjunto sólo admite iteración de lectura. Por tanto, se ha optado por permitir que el usuario pueda usar los dos tipos con la misma semántica.

Definición en la línea 147 del archivo conjunto.h.


Documentación de las funciones miembro

template<class T>
bool Conjunto<T>::borrar ( T e )
 

Eliminar un elemento.

Parámetros:
e   valor a eliminar del conjunto.
Devuelve:
Si el número de elementos ha disminuido (false en caso de que el elemento no estuviera en el conjunto)
Postcondición:
Los iteradores al conjunto quedan invalidados

Definición en la línea 54 del archivo conjunto.cpp.

template<class T>
bool Conjunto<T>::insertar ( T e )
 

Añadir un elemento.

Parámetros:
e   valor a insertar en el conjunto.
Devuelve:
Si el número de elementos ha aumentado (false en caso de que el elemento ya estaba en el conjunto)
Postcondición:
Los iteradores al conjunto quedan invalidados

Definición en la línea 34 del archivo conjunto.cpp.

template<class T>
int Conjunto<T>::num_elementos ( ) const [inline]
 

Cardinal del conjunto.

Devuelve:
El número de elementos del conjunto

Definición en la línea 105 del archivo conjunto.h.

template<class T>
bool Conjunto<T>::pertenece ( T e ) const [inline]
 

Consultar la existencia de un elemento.

Parámetros:
e   valor a consultar en el conjunto.
Devuelve:
Si el elemento pertenece al conjunto

Definición en la línea 95 del archivo conjunto.h.

template<class T>
bool Conjunto<T>::posicion_elemento ( int & pos,
T e ) const [private]
 

Localizador de una posición en v.

Parámetros:
e   valor del indice a localizar en la matriz
Valores devueltos:
pos   La posición donde se encuentra el e (si está) o la posición donde debería insertarse (si no está)
Devuelve:
Si el valor e está en el vector
Nota:
La eficiencia es logarítmica (usa búsqueda binaria)

Definición en la línea 12 del archivo conjunto.cpp.

Referenciado por borrar(), insertar(), y pertenece().

template<class T>
bool Conjunto<T>::vacio ( ) const [inline]
 

Conjunto Vacío.

Devuelve:
Si el conjunto está vacío (num_elementos()==0)

Definición en la línea 100 del archivo conjunto.h.


Documentación de los datos miembro

template<class T>
int Conjunto<T>::nelementos [private]
 

Número de posiciones de v usadas

Definición en la línea 55 del archivo conjunto.h.

template<class T>
Vector< T > Conjunto<T>::v<T> [private]
 

Almacena los elementos del conjunto

Definición en la línea 54 del archivo conjunto.h.


La documentación para esta clase fué generada a partir de los siguientes archivos:
Programación en C++. Desarrollado por Antonio Garrido, © 2001