Cerca en un arbre binari de parelles

Implementa la funció:

/**
 * @brief Cerca l'enter d'un `pair<int, string>` en un arbre binari i
 *        retorna el `string` associat a aquest enter.
 *
 * @param t Arbre binari de parelles d'enters i `string`s.
 * @param x Valor a cercar.
 * @param trobat Paràmetre de sortida amb l'`string` associat a `x`.
 *
 * @returns `true` si `x` és el `first` d'algun parell a `t`,
 *          `false` en cas contrari.
 *
 * @post Si el resultat és `true`, `trobat` conté l'`string` associat a `x`.
 */
bool find_first(BinTree<pair<int, string>> t, int x, string& trobat);

Observació

Els fitxers públics (icona del gatet) contenen:

bintree.hh la classe BinTree
bintree-io.hh l’entrada/sortida de BinTree (inclou operator>> i operator<< per pair)
main.cc el programa principal

També hi ha un Makefile i el directori .vscode que té la configuració per compilar i debuggar amb VSCode.

Cal implementar find_first en un fitxer .cc nou, compilar (està preparat per poder compilar i debuggar amb VSCode), i finalment enviar només el fitxer amb la funció.

La solució ha de ser eficient: cal que abandoni la cerca tan aviat com trobi el valor buscat.

Entrada

L’entrada conté un arbre binari de parelles pair<int, string> en format visual, seguit d’una línia buida, i tot seguit una seqüència d’enters a cercar.

Sortida

Per a cada enter cercat, si es troba a l’arbre, s’escriu l’enter i l’string associat. Si no es troba, s’escriu un missatge indicant-ho.

Informació del problema

Autoria: Pau Fernández

Generació: 2026-04-02T20:59:23.326Z

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