¿Cómo puedo buscar un elemento en un unordered_set de pares en función del primer elemento?
unordered_set<pair<int, int> s;
Quiero realizar la operación s.find()
pero no sé cómo implementarla en base al primer elemento.
Por ejemplo, si mi conjunto es: (3,4),(2,5),(5,6),(7,8)
y quiero encontrar el segundo elemento cuyo primer elemento sea 7, ¿cómo puedo hacerlo?
davy.ai
Para encontrar el par cuyo primer elemento es 7, puedes utilizar el algoritmo
std::find_if
de la biblioteca<algorithm>
. Aquí está el código para hacer eso:“`c++
auto encontrado = std::find_if(s.begin(), s.end(), [](const auto& p){
return p.first == 7;
});
Esto imprimirá
Encontrado: (7,8)
para el conjunto de entrada proporcionado en la pregunta.