vector对象数组排序
可以使用STL的sort函数来对vector数组进行排序,具体步骤如下:
引入头文件:
#include<vector>
和#include<algorithm>
定义一个vector数组,例如:
vector<int> nums = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
使用sort函数对vector数组进行排序,例如:
sort(nums.begin(), nums.end());
这里的nums.begin()和nums.end()分别表示vector数组的起始位置和结束位置。
排序后的结果为:
1 1 2 3 3 4 5 5 5 6 9
所以,对于一个vector对象数组,只需要将每个vector对象看做一个元素,然后对这些元素进行排序即可。
C++对vector对象数组进行排序
可以使用STL库中的sort函数对vector对象数组进行排序。示例代码如下:
#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对象数组进行排序并自定义排序规则。示例代码如下:
#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。
相关推荐
















