1 多参数排序
第一个参数升序、第二、三个参数降序的vector排序方法
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<vector<int>> vec{
{3,6,9},
{2,5,8},
{2,4,6},
{2,4,5},
{3,1,9},
};
// 第一个参数升序、第二、三个参数降序
sort(vec.begin(), vec.end(), [&](vector<int>& a, vector<int>& b) {
if (a[0] != b[0]) {
return a[0] < b[0];
}
else if (a[1] != b[1]) {
return a[1] > b[1];
}
else {
return a[2] > b[2];
}
});
for (auto i : vec) {
for (auto j :i) {
cout << " j: " << j;
}
cout << endl;
}
system("pause");
return 0;
}
运行结果:
2 基本函数
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> vec{ 3,2,1,5,7,4,9 };
cout << "vec.front(): " << vec.front() <<endl;
cout << "vec.back(): " << vec.back() << endl;
cout << "*(vec.begin()): " << *(vec.begin()) << endl;
cout << "*(vec.end()-1): " << *(vec.end()-1) << endl;
cout << "vec.size(): " << vec.size() << endl;
vector<int> temp{ 128, 112,121 };
vec.insert(vec.end(), temp.begin(), temp.end());
for (auto i : vec) {
cout << " i: " << i;
}
cout << endl;
cout << "vec.size(): " << vec.size() << endl;
vec.insert(vec.begin() + 1, temp.begin(), temp.end());
for (auto i : vec) {
cout << " i: " << i;
}
system("pause");
return 0;
}
结果:
vec.front(): 3
vec.back(): 9
*(vec.begin()): 3
*(vec.end()-1): 9
vec.size(): 7
i: 3 i: 2 i: 1 i: 5 i: 7 i: 4 i: 9 i: 128 i: 112 i: 121
vec.size(): 10
i: 3 i: 128 i: 112 i: 121 i: 2 i: 1 i: 5 i: 7 i: 4 i: 9 i: 128 i: 112 i: 121请按任意键继续. . .