在C++中,数组值排序可以通过使用标准库中的algorithm
头文件中的sort()
函数来实现。以下是一个简单的示例:
#include<iostream>
#include<algorithm>
int main() {
int arr[] = {5, 3, 8, 1, 9};
int n = sizeof(arr) / sizeof(arr[0]);
std::sort(arr, arr + n);
for (int i = 0; i < n; i++) {
std::cout<< arr[i] << " ";
}
return 0;
}
在这个示例中,我们首先包含了algorithm
头文件,然后定义了一个整数数组arr
,并计算了数组的长度。接下来,我们使用sort()
函数对数组进行排序,最后遍历数组并输出排序后的结果。
需要注意的是,sort()
函数默认是按照升序排序,如果需要降序排序,可以使用greater<int>()
作为第三个参数。
std::sort(arr, arr + n, std::greater<int>());
此外,如果需要自定义排序规则,可以通过传递第三个参数来实现。例如,按照绝对值大小排序:
#include<iostream>
#include<algorithm>
#include <cmath>
bool abs_compare(int a, int b) {
return std::abs(a) < std::abs(b);
}
int main() {
int arr[] = {-3, 2, -5, 1, 4};
int n = sizeof(arr) / sizeof(arr[0]);
std::sort(arr, arr + n, abs_compare);
for (int i = 0; i < n; i++) {
std::cout<< arr[i] << " ";
}
return 0;
}
在这个示例中,我们定义了一个自定义比较函数abs_compare
,然后将其作为sort()
函数的第三个参数传递。最后输出排序后的结果。
领取专属 10元无门槛券
手把手带您无忧上云