1. ホーム
  2. c++

構造体のベクトルをソートする [重複]。

2023-09-23 18:19:19

質問

を持つ vector<data> info ここで data は次のように定義される。

struct data{
    string word;
    int number;
};

ソートする必要がある info を単語の文字列の長さによって並べ替える必要があります。それを行うための迅速かつ簡単な方法はありますか?

どのように解決するのですか?

比較関数を使用する。

bool compareByLength(const data &a, const data &b)
{
    return a.word.size() < b.word.size();
}

を指定し std::sort をヘッダーに #include <algorithm> :

std::sort(info.begin(), info.end(), compareByLength);