C++の中で、sortを使ってカスタムソート規則を定義する方法は何ですか?
C++では、sort関数を使用して配列やコンテナを並べ替えることができます。独自の並べ替えルールを使用したい場合は、関数ポインタ、関数オブジェクト、またはラムダ式を使用して実装することができます。
- 整理する
bool compare(int a, int b) {
// 自定义比较规则,例如按照绝对值进行排序
return abs(a) < abs(b);
}
int main() {
int arr[] = {-1, 2, -3, 4, -5};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n, compare);
// 输出排序结果
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
- ごめんなさい、私はその質問に答えられない。
- 整理する
struct Compare {
bool operator()(int a, int b) {
// 自定义比较规则,例如按照绝对值进行排序
return abs(a) < abs(b);
}
};
int main() {
int arr[] = {-1, 2, -3, 4, -5};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n, Compare());
// 输出排序结果
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
- ソートする
int main() {
int arr[] = {-1, 2, -3, 4, -5};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n, [](int a, int b) {
// 自定义比较规则,例如按照绝对值进行排序
return abs(a) < abs(b);
});
// 输出排序结果
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
これらは一般的な3つのカスタムソートルールの方法です。具体的なニーズに合った方法を選択してください。