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);
});

このようにすると、カスタムのソートルールに従ってコンテナ内の要素をソートすることができます。

bannerAds