STL pair
pair ํด๋์ค๋ STL์์ ๋ ๊ฐ์ฒด๋ฅผ ํ๋์ ๊ฐ์ฒด๋ก ์ทจ๊ธ ํ ์ ์๊ฒ ๋ฌถ์ด์ฃผ๋ ํด๋์ค๋ค. pair์ ์ฌ์ ์ ์๋ฏธ์ฒ๋ผ ์ ์ ํํํ ๋ ์ฌ์ฉํ๋ฉฐ <utility>
ํค๋์ ์กด์ฌํ๋ค.
๊ตฌ์กฐ
template <class T1, class T2> struct pair;
template <typename T1, typename T2> struct pair;
๋ฉค๋ฒํจ์
์์ฑ์ / ๋ฉค๋ฒํจ์
์ค๋ช
pair<[type1],[type2]> p
์ฌ์ฉํ ๋ฐ์ดํฐ ํ์ ์ ๋ฃ๊ณ ๊ทธ ํ์ ์ pairํด๋์ค์ธ p๋ฅผ ์์ฑ
p.first
p์ ์ฒซ๋ฒ์งธ ์ธ์๋ฅผ ๋ฆฌํด
p.second
p์ ๋๋ฒ์งธ ์ธ์๋ฅผ ๋ฆฌํด
make_pair(var1,var2)
var1๊ณผ var2๊ฐ ๋ค์ด๊ฐ pair๋ฅผ ์์ฑ
์ฐ์ฐ
๋น๊ต ์ฐ์ฐ์(
==
,!
,<
,>
,<=
,>=
)sort ์๊ณ ๋ฆฌ์ฆ์ ์ํด ์ ๋ ฌ ๊ฐ๋ฅ
์ฒซ๋ฒ์งธ ์ธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋น๊ต
์ฒซ๋ฒ์งธ ์ธ์๊ฐ ๊ฐ๋ค๋ฉด ๋๋ฒ์งธ ์ธ์๋ก ๋น๊ต
์์
#include<iostream>
#include<utility>
#include<string>
using namespace std;
int main(void){
pair<int, string> p1 = make_pair(1,"test1");
pair<int, string> p2 = make_pair(3,"test3");
cout << "p1.first : " << p1.first << endl;
// p1.first : 1
cout << "p1.second : " << p1.second << endl;
// p1.second : test1
return 0;
}
vector ์ปจํ
์ด๋ ํ์
์ผ๋ก ์ฌ์ฉ
#include<iostream>
#include<utility>
#include<string>
#include<vector>
using namespace std;
int main(void){
vector<pair<int, string> > v;
v.push_back(pair<int, string>(3, "Dok2"));
v.push_back(pair<int, string>(6, "DMask"));
v.push_back(pair<int, string>(1, "Tiger JK"));
v.push_back(pair<int, string>(4, "Block"));
v.push_back(pair<int, string>(2, "banana"));
v.push_back(pair<int, string>(2, "apple"));
vector<pair<int, string> >::iterator i;
for(i = v.begin(); i != v.end(); i++){
cout << "[" << i->first << "," << i->second << "]" << endl;
}
return 0;
}
sort ์์
#include<algorithm>
using namespace std;
int main(void){
vector<pair<int, string> > v;
v.push_back(pair<int, string>(3, "Dok2"));
v.push_back(pair<int, string>(6, "DMask"));
v.push_back(pair<int, string>(1, "Tiger JK"));
v.push_back(pair<int, string>(4, "Block"));
v.push_back(pair<int, string>(2, "banana"));
v.push_back(pair<int, string>(2, "apple"));
cout << "=== After sort === " << endl;
sort(v.begin(), v.end());
for(iter = v.begin(); iter != v.end(); iter++){
cout << "[" << iter->first << "," << iter->second << "]" << endl;
}
return 0;
}
์ฐธ์กฐํ์ด์ง
Last updated
Was this helpful?