SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Mararía en Viernes 26 de Octubre de 2007, 17:18

Título: Cómo Se Usa El Contenedor Set De La Stl?
Publicado por: Mararía en Viernes 26 de Octubre de 2007, 17:18
Hola, de nuevo por aquí... Seguimos con los polinomios.. pero ahora tenemos que generar ciertos polinomios y almacenarlos en un set de polinomios. También tendremos que sumar todos los polinomios entre sí (el primeco con el segundo, el resultado con el tercero, el resultado con el cuarto.... etc) El caso es que no sé como hacerlo con el contenedor set, ya que la información que hay por ahí o es poca, o es muy densa y no saco nada en claro...

Si en lugar de un set, fuera un vector de polinomios, lo que haría sería algo así:
Código: Text
  1.  
  2. vector <Polinomio> Polis;
  3.    ...                           //genero los polinomios y los meto en mi vector
  4. Polinomio suma = Polis[0];
  5.    for (int i = 1; i < Polis.size(); i++)
  6.       suma = suma +  Polis[i];
  7.  
  8.  



Alguna guia (o explicacion) rápida y clara sobre como acceder (secuencialmente o no) a los miembros de un set (con un ejemplillo o dos, pa no liarme con los iterators, que tengo un cacao mental...).

Otra cosa, a ver si he entendido bien como insertar objetos en el set... sería esto?:
Código: Text
  1. set <Polinomio> Polis;
  2. Polinomio Mipoli =//funcion generadora del polinomio
  3. Polis.insert(Mipoli);
  4.  
  5.  
Título: Re: Cómo Se Usa El Contenedor Set De La Stl?
Publicado por: SteelX en Viernes 26 de Octubre de 2007, 17:28
stl::set
http://www.sgi.com/tech/stl/set.html (http://www.sgi.com/tech/stl/set.html)

bueno SET no es tan sencillo cómo VECTOR , SET almacenas datos únicos asociativos, tiene un Key que es la llave de lo que vas a introducir(int, char, char* ....cualquier dato) y un compare que es lo que se va usar para saber si los elementos a introducir  son iguales o el criterio de evaluación que tu quieras llevar.


en el vinculo de arriba está un ejemplo.
Título: Re: Cómo Se Usa El Contenedor Set De La Stl?
Publicado por: Mararía en Viernes 26 de Octubre de 2007, 17:35
Precisamente ahí había estado antes de postear este mensaje... Y lo único que saqué en claro es un precioso dolor de cabeza con tantos keys y tantos iterators...  :huh:
Título: Re: Cómo Se Usa El Contenedor Set De La Stl?
Publicado por: Eternal Idol en Viernes 26 de Octubre de 2007, 18:10
Ejemplo de la MSDN:

Código: Text
  1.  
  2. #include <set>
  3. #include <iostream>
  4.  
  5. int main( )
  6. {
  7.    using namespace std;
  8.    set <int> s1;
  9.    set <int> :: size_type i;
  10.    
  11.    s1.insert( 1 );
  12.    i = s1.size( );
  13.    cout << "The set length is " << i << "." << endl;
  14.  
  15.    s1.insert( 2 );
  16.    i = s1.size( );
  17.    cout << "The set length is now " << i << "." << endl;
  18. }
  19.  
  20.  

http://msdn2.microsoft.com/en-us/library/e...665(VS.71).aspx (http://msdn2.microsoft.com/en-us/library/e8wh7665(VS.71).aspx)
http://msdn2.microsoft.com/en-us/library/a...t3c(VS.71).aspx (http://msdn2.microsoft.com/en-us/library/aww06t3c(VS.71).aspx)