C++ sort関数でソート!基本と応用をわかりやすく解説
C++において、sort関数を使ってコンテナ内の要素を並び替えると、デフォルトで昇順に並べ替えることもでき、また自分で並び替えルールをカスタマイズすることもできます。
ベクターコンテナ内の整数要素をソートする簡単な例は次のとおりです:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers = {4, 2, 1, 5, 3};
// 使用sort函数对容器中的元素进行排序
std::sort(numbers.begin(), numbers.end());
// 打印排序后的结果
for (int num : numbers) {
std::cout << num << " ";
}
return 0;
}
sort関数にgreater()を第三の引数として渡すと、降順で並び替えることができます。
std::sort(numbers.begin(), numbers.end(), std::greater<int>());
sort関数にlambda式を第三引数として渡すことで、カスタムソートルールを使用できます。例えば、数値の絶対値でソートする場合は、lambda式を使用します。
std::sort(numbers.begin(), numbers.end(), [](int a, int b) {
return abs(a) < abs(b);
});
このようにすると、カスタムのソートルールに従ってコンテナ内の要素をソートすることができます。