C++のソート関数の使い方は?
C++では、配列やベクター、リストなどのコンテナの要素をソートするために、標準ライブラリ内のsort関数を使用することができます。sort関数は、コンテナの先頭要素を指すイテレータと末尾要素を指すイテレータ、そしてソートの順序を指定するオプショナルな比較関数を受け取ります。
Sort関数を使用してソートする例を以下に示します:
#include <iostream>
#include <vector>
#include <algorithm>
bool compare(int a, int b) {
return a < b; // 以升序排序
}
int main() {
std::vector<int> numbers = {5, 2, 8, 1, 3};
std::sort(numbers.begin(), numbers.end(), compare);
std::cout << "排序后的结果:";
for (int number : numbers) {
std::cout << number << " ";
}
std::cout << std::endl;
return 0;
}
上記の例では、ソートの順序を指定するためにcompareという比較関数を定義しました。compare関数はtrueを返すと、最初の引数が2番目の引数よりも小さいことを意味し、昇順でソートされます。その後、numbersコンテナをsort関数に渡してソートします。最後に、ループを使用してソートされた結果を出力します。
出力結果は、ソートされた結果:1 2 3 5 8、すなわち昇順に並べ替えられた結果です。
sort関数の3番目のパラメータとして比較関数を提供しない場合、デフォルトで<演算子が使用されてソートされます。