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