关于pair与容器有关问题
关于pair与容器问题
读入一系列string和int类型数据,储蓄在pair类型中,再把pair放在vector容器中
我这样写对不??
头文件pair_lei
主函数
我写得对不,大家有好的写法发上来我看看。
------解决方案--------------------
template<class T, class U>
pair<T, U> make_pair(const T& x, const U& y);
用这进行压入vector容器
也就是b.push_back(make_pair(stringname,intnum));
------解决方案--------------------
读入一系列string和int类型数据,储蓄在pair类型中,再把pair放在vector容器中
我这样写对不??
头文件pair_lei
- C/C++ code
#ifndef PAIR #define PAIR //读入一系列string和int数据,把每一组储蓄在pair对象中 #include <string> #include <utility> using namespace std; pair<string,int> pair_lei(string stringname,int intnum){ pair<string,int> a(stringname,intnum); return a; } #endif
主函数
- C/C++ code
//把这些pair对象存蓄在vector容器中 #include "stdafx.h" #include <iostream> #include <vector> #include "pair_lei.h" int main(){ string stringname; int intnum; vector< pair<string,int> > b; while(cin>>stringname>>intnum){ b.push_back(pair_lei(stringname,intnum)); } return 0;}
我写得对不,大家有好的写法发上来我看看。
------解决方案--------------------
template<class T, class U>
pair<T, U> make_pair(const T& x, const U& y);
用这进行压入vector容器
也就是b.push_back(make_pair(stringname,intnum));
------解决方案--------------------
- C/C++ code
//°ÑÕâЩpair¶ÔÏó´æÐîÔÚvectorÈÝÆ÷ÖÐ #include <iostream> #include <vector> #include <string> #include <utility> using namespace std; pair<string,int> pair_lei(string stringname,int intnum) { pair<string,int> a(stringname,intnum); return a; } int main() { string stringname; int intnum; int num=0; vector< pair<string,int> > b; while(num<3) { cin>>stringname>>intnum; b.push_back(pair_lei(stringname,intnum)); num++; } pair<string,int> p; for (vector< pair<string,int> >::iterator it = b.begin();it!=b.end();it++) { p = *it; cout<<p.first<<p.second <<endl; } system("pause"); return 0; }
------解决方案--------------------
可以写得简单点
[code=C/C++][/code]
#include<iostream>
#include<vector>
#include<string>
#include<utility>
using namespace std;
void mian(){
vector< pair<string,int> > b;
string stringname;
int intnum;
while (cin>>stringname>>intnum){
b.push_back(make_pair(stringname,intnum);
}
}