溫馨提示×

c++ sort函數(shù)的參數(shù)有哪些

c++
小億
150
2023-10-13 10:35:09
欄目: 編程語言

C++的sort函數(shù)有兩種形式,一種是使用默認(rèn)的比較函數(shù)進(jìn)行排序,另一種是使用自定義的比較函數(shù)進(jìn)行排序。

使用默認(rèn)比較函數(shù)進(jìn)行排序時,sort函數(shù)的參數(shù)如下:

  1. 第一個參數(shù)是要排序的起始位置的迭代器;

  2. 第二個參數(shù)是要排序的結(jié)束位置的迭代器;

  3. 第三個參數(shù)是可選的比較函數(shù)對象,用于指定排序的方式,默認(rèn)為std::less(),即升序排序。

使用自定義比較函數(shù)進(jìn)行排序時,sort函數(shù)的參數(shù)如下:

  1. 第一個參數(shù)是要排序的起始位置的迭代器;

  2. 第二個參數(shù)是要排序的結(jié)束位置的迭代器;

  3. 第三個參數(shù)是自定義的比較函數(shù)對象,用于指定排序的方式。比較函數(shù)的定義應(yīng)該滿足嚴(yán)格的弱序(Strict Weak Ordering)規(guī)則。

例如,使用默認(rèn)比較函數(shù)進(jìn)行排序的代碼示例:

#include <algorithm>
#include <vector>
int main() {
std::vector<int> nums = {5, 2, 8, 1, 4};
std::sort(nums.begin(), nums.end());
return 0;
}

使用自定義比較函數(shù)進(jìn)行排序的代碼示例:

#include <algorithm>
#include <vector>
bool compare(int a, int b) {
return a > b; // 降序排序
}
int main() {
std::vector<int> nums = {5, 2, 8, 1, 4};
std::sort(nums.begin(), nums.end(), compare);
return 0;
}

0