Búsqueda en un árbol binario de parejas

Implementa la función:

    /**
     * @brief Busca el entero de un `pair<int, string>` en un árbol binario y
     *        devuelve el `string` asociado a dicho entero.
     *
     * @param t Árbol binario de parejas de enteros y `string`s.
     * @param x Valor a buscar.
     * @param trobat Parámetro de salida con el `string` asociado a `x`.
     *
     * @returns `true` si `x` es el `first` de algún par en `t`,
     *          `false` en caso contrario.
     *
     * @post Si el resultado es `true`, `trobat` contiene el `string` asociado a `x`.
     */
    bool find_first(BinTree<pair<int, string>> t, int x, string& trobat);

Observación

Los ficheros públicos (icono del gatito) contienen:

  --------------- --------------------------------------------------------------------------
  bintree.hh      la clase BinTree
  bintree-io.hh   la entrada/salida de BinTree (incluye operator>> y operator<< para pair)
  main.cc         el programa principal
  --------------- --------------------------------------------------------------------------

También hay un Makefile y el directorio .vscode que tiene la
configuración para compilar y depurar con VSCode.

Hay que implementar find_first en un fichero .cc nuevo, compilar (está
preparado para poder compilar y depurar con VSCode), y finalmente enviar
solo el fichero con la función.

La solución debe ser eficiente: hay que abandonar la búsqueda tan pronto
como se encuentre el valor buscado.

Entrada

La entrada contiene un árbol binario de parejas pair<int, string> en
formato visual, seguido de una línea vacía, y a continuación una
secuencia de enteros a buscar.

Salida

Para cada entero buscado, si se encuentra en el árbol, se escribe el
entero y el string asociado. Si no se encuentra, se escribe un mensaje
indicándolo.

Información del problema

Autoría: Unknown
Traducción: Pau Fernández

Generación: 2026-04-02T20:59:26.789Z

© Jutge.org, 2006–2026.
https://jutge.org
