Simplemente haga una función de comparación/funtor:
bool my_cmp(const data& a, const data& b)
{
// smallest comes first
return a.word.size() < b.word.size();
}
std::sort(info.begin(), info.end(), my_cmp);
o proporcionar una bool operator<(const data& a) const
en su clase data
:
struct data {
string word;
int number;
bool operator<(const data& a) const
{
return word.size() < a.word.size();
}
};
o no miembro que Fred dijo:
struct data {
string word;
int number;
};
bool operator<(const data& a, const data& b)
{
return a.word.size() < b.word.size();
}
y simplemente llame al std::sort()
:
std::sort(info.begin(), info.end());
Si cree que su pregunta fue resuelta, marque una solución como aceptada. –
lo siento.No tuve tiempo de verificar las últimas horas – calccrypto