Pair
pair
@ pair < int , int > q 두 객체를 하나의 객체로 취급
@ pair< int, pair<int,int> > q pair 안에 pair 가능
@ q.first=2 q.second=3 각각의 원소에 값을 넣어줌
@ make_pair(변수1,변수2) 초기화 할경우 사용
ex) pair<int,int> q = make_pair(2,3)
pair와 함께 반복자 사용방법
vector<pair<int,int> > :: iterator iter=a.begin();
-pair는 클레스 이므로 접근 할때 -> 사용해서 접근
ex) cout<< iter->first<<endl, cout<<iter->second<<endl;
vector && pair
@ vector< pair<int,int> > v
1) 원소 삽입 방법
ex) v.push_back(pair<int, int>(1,2) )
ex) v.push_back({1,2})
2) 원소 출력 방법
ex) cout<<v[0].first<<
ex) cout<<v[0].second<<endl
@ vector< pair<int , pair<int,int> > > v
1) 원소 삽입 방법
ex) v.push_back(pair<int,pair<int,int> >( 1 ,pair<int,int> (2 , 3) ) )
ex) v1.push_back( {1,{2,3} } )
2) 원소 출력 방법
ex) cout<<v[0].first<<
ex) cout<<v[0].second.first<<endl
ex) cout<<v[0].second.second<<endl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include<iostream>
#include<vector>
#include<queue>
#include<stack>
using namespace std;
int main(void)
{
vector<pair<int,int> > v;
v.push_back({1,2});
cout<<v[0].first<<' ';
cout<<v[0].second<<endl;
vector<pair<int,pair<int,int> > > v1;
v1.push_back({1,{2,3}});
cout<<v1[0].first<<' ';
cout<<v1[0].second.first<<' ';
cout<<v1[0].second.second<<' ';
return 0;
}
|
cs |
queue && pair
@ queue<pair<int,int> > q queue안에 pair을 넣어 두개의 원소를 하나와 같이 사용
1) 원소 삽입 방법
@ q.push({2,3})
@ q.push(pair<int,int>(2,3));
2) 원소 출력 방법
ex) cout<<q.front().first<<endl;
ex) cout<<q.front().second<<endl;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include<iostream>
#include<vector>
#include<queue>
#include<stack>
using namespace std;
int main(void)
{
queue<pair<int,int> > q;
q.push({2,3});
q.push(pair<int,int>(2,3));
cout<<q.front().first<<' ';
cout<<q.front().second<<' ';
return 0;
}
|
cs |
stack && pair
@ stack<pair<int,int> > q queue안에 pair을 넣어 두개의 원소를 하나와 같이 사용
1) 원소 삽입 방법
@ q.push({2,3})
@ q.push(pair<int,int>(2,3));
2) 원소 출력 방법
ex) cout<<q.top().first<<endl;
ex) cout<<q.top().second<<endl;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include<iostream>
#include<vector>
#include<queue>
#include<stack>
using namespace std;
int main(void)
{
stack<pair<int,int> > q;
q.push({2,3});
q.push(pair<int,int>(2,3));
cout<<q.top().first<<' ';
cout<<q.top().second<<' ';
return 0;
}
|
cs |