C++对vector对象数组进行排序
时间: 2023-07-28 19:32:16 浏览: 124
可以使用STL库中的sort函数对vector对象数组进行排序。示例代码如下:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec {5, 1, 3, 2, 4};
// 使用sort函数进行排序
sort(vec.begin(), vec.end());
// 输出排序后的结果
for (auto num : vec) {
cout << num << " ";
}
return 0;
}
```
输出结果为:1 2 3 4 5。
在代码中,我们首先定义了一个vector对象数组vec,其中包含了5个整型元素。然后我们使用sort函数对vec进行排序,sort函数的第一个参数为待排序的容器的起始迭代器,第二个参数为容器的终止迭代器。最后使用for循环输出排序后的结果。
相关问题
C++对vector对象数组进行排序的同时自定义排序规则
可以使用STL库中的sort函数对vector对象数组进行排序并自定义排序规则。示例代码如下:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool myCompare(int a, int b) {
return a > b; // 降序排序
}
int main()
{
vector<int> vec {5, 1, 3, 2, 4};
// 使用sort函数进行自定义排序
sort(vec.begin(), vec.end(), myCompare);
// 输出排序后的结果
for (auto num : vec) {
cout << num << " ";
}
return 0;
}
```
输出结果为:5 4 3 2 1。
在代码中,我们定义了一个自定义函数myCompare,该函数的返回值类型为bool型,接受两个int型参数a和b,用于自定义排序规则。在主函数中,我们首先定义了一个vector对象数组vec,其中包含了5个整型元素。然后我们使用sort函数对vec进行排序,并传入自定义函数myCompare作为第三个参数,即用于自定义排序规则。最后使用for循环输出排序后的结果。
本例中自定义函数myCompare为降序排序,如果需要进行升序排序,则返回值应为a < b。
c++对vector结构体数组进行排序
可以使用`std::sort()`函数对`vector`结构体数组进行排序。以下是一个示例代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
struct MyStruct {
int value;
// 其他成员变量...
};
bool compare(const MyStruct& a, const MyStruct& b) {
return a.value < b.value;
}
int main() {
std::vector<MyStruct> myVector;
// 将需要排序的结构体对象添加到vector中
std::sort(myVector.begin(), myVector.end(), compare);
for (const auto& item : myVector) {
// 输出排序后的结果
std::cout << item.value << " ";
}
return 0;
}
```
阅读全文