c++ vector排序
时间: 2023-07-12 15:51:42 浏览: 165
你可以使用C++ STL中的sort函数来对vector进行排序。sort函数需要传入三个参数:首元素指针、尾元素指针和比较函数指针。比较函数指针用来指定排序的规则,可以是从小到大或者从大到小。下面是一个示例代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool myCompare(int a, int b) {
return a > b; // 从大到小排序
}
int main() {
vector<int> v{2, 5, 1, 8, 4};
sort(v.begin(), v.end(), myCompare);
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
return 0;
}
```
输出结果为:8 5 4 2 1。
相关问题
C++vector数组范围排序
您可以使用C++ STL库中的sort函数对vector数组进行排序。以下是示例代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = { 5, 3, 1, 4, 2 };
// 对vector数组进行排序
sort(vec.begin(), vec.end());
// 输出排序后的数组
for (auto i : vec)
{
cout << i << " ";
}
return 0;
}
```
输出结果为:1 2 3 4 5。
c++如何对vector排序?
C++中可以使用`std::sort()`函数对`vector`进行排序。`std::sort()`函数的头文件为`#include<algorithm>`,其调用方式为:
```c++
std::sort(vector.begin(), vector.end());
```
其中`vector.begin()`和`vector.end()`分别返回指向`vector`第一个元素和最后一个元素下一个位置的迭代器。如果需要对`vector`进行降序排序,则可以使用`std::greater<>()`函数对象,如下所示:
```c++
std::sort(vector.begin(), vector.end(), std::greater<>());
```
另外,如果需要按照自定义的方式进行排序,则可以自定义一个比较函数,在`std::sort()`函数中传入该比较函数,如下所示:
```c++
bool myCompare(int a, int b) {
return a > b;
}
std::sort(vector.begin(), vector.end(), myCompare);
```
以上是对整型`vector`的排序,对于其他类型的`vector`,只需将比较函数中的`>`替换为该类型的比较方式即可。
阅读全文