上午做了一到前K个高频字符,要求输出索引
我一看,好家伙,这不是力扣原题嘛,直接小根堆就行了
然后,要输入键值对,发现竟然不会输入。。。。
平常力扣刷多了cin都不会使了。
记录一下如何输入pair
#include <iostream>
#include <vector>
#include <utility>
using namespace std;
int main(void)
{
vector<int> m_vecMain;
vector<pair<int, int>> vp;
int num = 0;
pair<int, int> pnum;
cout << "请输入的整形键值对,用空格间隔,回车结束输入:";
/*while (cin >> num)
{
m_vecMain.push_back(num);
// 遇到回车符退出
if ('\n' == cin.get())
{
break;
}
}
*/
int f, l;
while (cin >> f>>l)
{
vp.push_back(make_pair(f,l));
// 遇到回车符退出
if ('\n' == cin.get())
{
break;
}
}
for (int i = 0; i < vp.size(); i++)
{
cout << vp[i].first<<" "<<vp[i].second << endl;
}
system("pause");
return 0;
}
- 标准库还定义了一个make_pair函数,由传递给它的两个实参生成一个新的pair对象
- 对于pair类,可以直接访问其数据成员:其成员都是公有的,分别命名为first和second,只需要使用普通的点操作符