- 数据个数未知
1 3 5 10 // C++ vector<int> v; int tmp; while(cin >> tmp){ v.push_back(tmp); if (getchar() == '\n') break; }
// 二维数组
int dp[n][m]; // 方法1
memset(dp,0,sizeof(dp)); // 用0填充
vector<vector<int>> dp(n,vector<int>(m,0)); // 方法2;n*m填充0
vector<int> res(input.begin(), input.begin() + k); // 方法3;input是已经存在的vector
// 优先队列 最大最小堆
priority_queue<pair<int,int>> pq; // 最大堆,默认
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq; // 最小堆
// 将res(vector类型)中的元素反向
vector<int>(res.rbegin(), res.rend());
// 累加 vector 中的值
int sum = accumulate(A.begin(), A.end(), 0); // 其中 A 是vector, 0是代表累加的初值为0;
// 排序(根据pair中的第二个关键字降序)
#include"algorithm"
bool cmp2(pair<int, int> a, pair<int, int> b) {
return a.second > b.second;
}
vector<pair<int, int>> vec;
sort(vec.begin(), vec.end(), cmp2);
// char 转 string
// 假设mp[0]是char;
string str;
str.push_back(mp[0]);
// string 转 int
string str = "123";
int n = atoi(str.c_str()); // 其中 .c_str() 必须要有
cout << n; // 123