Hola:
No la tengo muy clara con C++, y tengo esta duda:
Tengo el siguiente fragmento de codigo, basicamente un metodo que recibe un
vector de Personas, y lo ordena por edad, volcandolo en otro vector recibido
por referencia.
Al margen de que esto podria ser resuelto usando un metodo "sort" de
<algorithm> que anduve viendo por ahi...
Si yo quisiera resolverlo con el viejo qsort, como lo planteo abajo...
Como libero la memoria de los struct creados ??
Es decir...si tengo un array de structs, pero quiero llenarlo en forma
dinamica...si o si debo crear los struct con un new...
Pero como inserto el struct creado al array ?
No se si se entiende bien lo q pregunto, lo mejor es ver el codigo...y q
alguien si se copa me diga como libero la memoria alojada.

Muchas gracias !!
Saludos
MA_Xx

typedef struct {
    Persona * persona;
    int edad;
} PersonaEdad;

void ordenarPersonas(const vector<Persona *> & p, vector<Persona *> & ord) {

    PersonaEdad pe[p.size()];

    for (size_t i = 0; i < p.size(); ++i) {
        PersonaEdad * x = new PersonaEdad();
        x->persona = p[i];
        x->edad = p[i]->getEdad();
        pe[i] = * x;
    }

    qsort(pe, p.size(), sizeof(PersonaEdad), comparePersonaEdad);


    for (size_t i = 0; i < p.size(); ++i) {
        ord.push_back(pe[i].persona);
    }

    // DELETE ????

}
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a