Finales/Virtuales/final-9511-2020-10-03/aerodb.c
// O(log n)
// Bsearch devuelve un puntero a un elemento del arreglo, los cuales a su vez son punteros a estructuras por lo que se requiere un doble puntero para poder acceder a los datos de la estructura
O(log n)
Bsearch devuelve un puntero a un elemento del arreglo, los cuales a su vez son punteros a estructuras por lo que se requiere un doble puntero para poder acceder a los datos de la estructura
O ( log n ) Bsearch devuelve un puntero a un elemento del arreglo los cuales a su vez son punteros a estructuras por lo que se requiere un doble puntero para poder acceder a los datos de la estructura
const char *aerodb_nombre(const aerodb_t *a, const char *designacion) {
    if (a == NULL || designacion == NULL)
        return NULL;
    aeropuerto_t **p = bsearch(&designacion, a->aeropuertos, a->n, sizeof(aeropuerto_t *), cmp_designacion);
    if (p == NULL)
        return NULL;
    return (*p)->nombre;
}
const char * aerodb_nombre ( const aerodb_t * a , const char * designacion ) { if ( a == NULL || designacion == NULL ) return NULL ; aeropuerto_t * * p = bsearch ( & designacion , a -> aeropuertos , a -> n , sizeof ( aeropuerto_t * ) , cmp_designacion ) ; if ( p == NULL ) return NULL ; return ( * p ) -> nombre ; }
O(log n)
Bsearch devuelve un puntero a un elemento del arreglo, los cuales a su vez son punteros a estructuras por lo que se requiere un doble puntero para poder acceder a los datos de la estructura
O ( log n ) Bsearch devuelve un puntero a un elemento del arreglo los cuales a su vez son punteros a estructuras por lo que se requiere un doble puntero para poder acceder a los datos de la estructura