vc vector排序
时间: 2023-09-03 13:01:45 浏览: 95
在C++中,我们可以使用vector容器提供的sort函数来对其进行排序。sort函数可以在algorithm头文件中找到。
使用sort函数进行排序时,我们可以通过提供自定义的比较函数,来控制排序的方式。比较函数应该返回一个布尔值,指示两个元素的相对顺序。如果第一个元素应该位于第二个元素之前,则返回true,否则返回false。
下面是一个使用sort函数对vector进行排序的示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
bool compare(int a, int b) {
return a < b; // 升序排序
// return a > b; // 降序排序
}
int main() {
std::vector<int> vc = {5, 2, 9, 1, 7};
std::sort(vc.begin(), vc.end(), compare);
for (int num : vc) {
std::cout << num << " ";
}
return 0;
}
```
上述代码中,我们定义了一个名为compare的比较函数,用于指定升序排序。然后,在sort函数中传入容器vc的起始和结束迭代器,并指定compare函数作为排序方式。最后,我们使用for循环打印排序后的vc。
当代码执行时,输出将为"1 2 5 7 9",即升序排序后的结果。
如果我们想要进行降序排序,只需将compare函数中的返回语句改为"return a > b;"即可。
阅读全文