c++ vector 排序
时间: 2023-09-28 10:07:18 浏览: 150
C++ 中的 vector 可以使用 sort() 函数进行排序。sort() 函数接受两个迭代器作为参数,表示要排序的范围。
下面是一个示例代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {5, 2, 7, 3, 9};
std::sort(vec.begin(), vec.end());
for (auto i : vec) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
2 3 5 7 9
```
在这个示例代码中,我们使用 std::sort() 函数将 vec 中的元素进行升序排序。注意,sort() 函数会改变原始 vector 中元素的顺序。如果你需要对 vector 进行降序排序,可以使用 std::greater<int>() 作为 sort() 函数的第三个参数,例如:
```c++
std::sort(vec.begin(), vec.end(), std::greater<int>());
```
相关问题
C++ vector排序
C++中的vector是一个动态数组,可以存储不同类型的元素。要对vector进行排序,可以使用STL中的sort函数。sort函数位于<algorithm>头文件中,它可以对容器中的元素进行升序排序。
下面是对vector进行排序的示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> nums = {5, 2, 8, 1, 9};
// 使用sort函数对vector进行排序
std::sort(nums.begin(), nums.end());
// 输出排序后的结果
for (int num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
运行以上代码,输出结果为:1 2 5 8 9,即对vector中的元素进行了升序排序。
c++vector排序
在C++中,可以使用STL(标准模板库)中的sort函数来对vector进行排序。你可以自定义一个比较函数,根据需要选择按照哪个属性进行排序。
首先,你需要定义一个自己的结构体(vector)。比如,你可以定义一个包含int类型的属性a和一个vector<int>类型的属性v_int的结构体node。
然后,你可以定义一个比较函数cmp1,该函数接受两个node类型的参数n1和n2,根据属性a的值进行比较,并返回一个bool值作为结果。如果n1.a大于n2.a,则返回true,否则返回false。
接下来,你需要定义多个vector,可以命名为v_int1、v_int2等。你可以使用push_back函数向这些vector中添加元素。
接下来,你可以创建一个vector<node>类型的vector,命名为v_n,并使用push_back函数将自定义的结构体node对象添加到v_n中。
最后,可以使用sort函数对v_n进行排序,排序时调用cmp1函数作为比较函数。使用sort函数的方式是传入v_n.begin()和v_n.end()作为排序的范围。
这样就可以对自定义的结构体vector进行排序了。
请注意,这里提供的是一种示例,你可以根据自己的需求和实际情况进行相应的修改和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++ 对vector 排序](https://blog.csdn.net/Black_Friend/article/details/107387335)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文