Cómo usar lower_bound para buscar una cadena en una estructura vectorial

Creo que buscas algo como esto

siempre puedes enviarme un mensaje para más preguntas relacionadas con esto. Espero que esto ayude 🙂

#include

usando el espacio de nombres estándar;

estructura de la empresa {
nombre de cadena;
int id;
Empresa (cadena nm, int idn) {
nombre = nm;
id = idn;
}
};

bool CompareByID (const Company & a, const Company & b)
{
devuelve a.id <b.id;
}

int main ()
{
vector array_id;
array_id.push_back (Compañía (“Will”, 10));
array_id.push_back (Compañía (“Hary”, 2));
array_id.push_back (Compañía (“Adam”, 4));
array_id.push_back (Compañía (“Bob”, 12));
array_id.push_back (Compañía (“Alice”, 7));
sort (array_id.begin (), array_id.end (), CompareByID);
vector id;

// ya que tenemos nuestro vector de empresa ordenado en función de los ID
para (int i = 0; i <array_id.size (); i ++)
{
ids.push_back (array_id [i] .id);
}

int taxID = 4;
vector :: iterador low_ans;
low_ans = lower_bound (ids.begin (), ids.end (), taxID);
cout << low_ans – ids.begin () << endl;
devuelve 0;
}