std::sort设置倒序排放规则
时间: 2024-03-19 10:38:27 浏览: 64
在C++的STL中,std::sort函数可以用于对容器中的元素进行排序。默认情况下,std::sort函数按照升序排列元素。如果要设置倒序排列规则,可以使用自定义的比较函数作为std::sort函数的第三个参数。
下面是一个示例,演示如何使用std::sort函数设置倒序排列规则[^1]:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
// 自定义比较函数,用于设置倒序排列规则
bool compare(int a, int b) {
return a > b;
}
int main() {
std::vector<int> nums = {5, 2, 8, 1, 9};
// 使用自定义的比较函数进行倒序排列
std::sort(nums.begin(), nums.end(), compare);
// 输出排序结果
for (int num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
9 8 5 2 1
```
相关问题
std::sort倒序排放
以下是使用std::sort函数进行倒序排列的示例代码[^1]:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[] = {5, 2, 9, 1, 7};
int n = sizeof(arr) / sizeof(arr[0]);
// 使用std::sort函数进行倒序排列
sort(arr, arr + n, greater<int>());
// 输出排序后的数组
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
输出结果为:9 7 5 2 1
#include <iostream> #include <vector> // 选择排序 void selectionSort(std::vector<int>& arr) { int n = arr.size(); for (int i = 0; i < n - 1; i++) { int minIndex = i; for (int j = i + 1; j < n; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } std::swap(arr[i], arr[minIndex]); } } // 数组倒序 void reverseArray(std::vector<int>& arr) { int start = 0; int end = arr.size() - 1; while (start < end) { std::swap(arr[start], arr[end]); start++; end--; } } int main() { std::vector<int> arr = {}; // 选择排序 selectionSort(arr); std::cout << "选择排序后的数组:"; for (int num : arr) { std::cout << num << " "; } std::cout << std::endl; // 数组倒序 reverseArray(arr); std::cout << "数组倒序结果:"; for (int num : arr) { std::cout << num << " "; } std::cout << std::endl; return 0; }注释
这是一个包含选择排序和数组倒序功能的程序。它使用了两个函数:selectionSort和reverseArray。
selectionSort函数实现了选择排序算法。它接受一个整数向量arr,并通过交换元素的位置来对其进行排序。算法的主要思想是在每次迭代中找到未排序部分的最小元素,并将其放置在已排序部分的末尾。通过重复执行这个过程,最终得到一个有序的数组。
reverseArray函数用于将数组倒序。它接受一个整数向量arr,并使用两个指针start和end来交换元素,以实现数组的倒序。
在主函数中,程序首先定义了一个空的整数向量arr。然后,它调用selectionSort函数对arr进行排序,并输出排序后的结果。接着,它调用reverseArray函数对arr进行倒序,并输出倒序后的结果。
最后,程序返回0表示正常运行结束。
如果你对这段代码有任何疑问,请随时提问。
阅读全文