vector容器排序
时间: 2023-10-23 09:12:26 浏览: 98
对于vector容器的排序,可以使用sort函数进行排序。以下是一个示例代码:
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
vector<int> obj;
obj.push_back(1);
obj.push_back(3);
obj.push_back(0);
sort(obj.begin(), obj.end()); // 使用sort函数进行排序,默认从小到大
cout << "从小到大:" << endl;
for(int i=0; i<obj.size(); i++) {
cout << obj[i] << ",";
}
cout << "\n" << endl;
reverse(obj.begin(), obj.end()); // 使用reverse函数进行排序,从大到小
cout << "从大到小:" << endl;
for(int i=0; i<obj.size(); i++) {
cout << obj[i] << ",";
}
return 0;
}
这段代码首先创建一个vector容器,然后通过push_back函数向容器中添加元素。接着使用sort函数对容器进行排序,默认从小到大。然后使用reverse函数对容器进行排序,从大到小。最后通过循环遍历容器,打印排序后的结果。
相关问题
vector容器sort排序
你可以使用C++的标准库中的`std::sort`函数来对`vector`容器进行排序。`std::sort`函数接受两个迭代器参数,表示要排序的范围。以下是一个简单的示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {5, 3, 1, 4, 2};
std::sort(vec.begin(), vec.end());
for (const auto& element : vec) {
std::cout << element << " ";
}
return 0;
}
```
该代码将输出已排序的向量元素:1 2 3 4 5。你可以通过调用`std::sort`函数来对`vector`容器进行升序排序。如果要进行降序排序,你可以传递第三个参数作为比较函数。
希望这可以帮到你!如果还有其他问题,请随时提问。
vector容器结构体排序
Vector是C++标准库中的动态数组,它提供了一种线性的内存布局,可以动态调整大小。当涉及到排序vector容器中的元素时,有两种常用的方式:
1. **内置排序功能**:`std::sort()`函数可以用于对vector内的元素进行排序。你可以直接传递vector的起始迭代器和结束迭代器给这个函数,例如:
```cpp
std::sort(your_vector.begin(), your_vector.end());
```
如果需要自定义比较规则,可以提供一个比较函数作为第三个参数。
2. **使用STL算法**:如`std::stable_sort()`或`std::partial_sort()`等,它们提供了更细粒度的控制。
如果你想在vector内部按照某个成员变量进行排序,可以用lambda表达式或函数指针来指定排序依据:
```cpp
std::sort(your_vector.begin(), your_vector.end(), [](const YourClass& a, const YourClass& b) {
return a.your_member < b.your_member;
});
```
这里`your_member`是你想用来排序的类的成员变量。
阅读全文