์ ์
๋ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ํ๋๋ก ๋ฌถ์ด์ฃผ๋ฉฐ ๋ฐ์ดํฐ์ ์์ ํํํ ๋ ์ฌ์ฉํ๋ค.
ex) 2์ฐจ์ ๋ฒกํฐ, ์ขํ๊ณ...
์ฌ์ฉ ๋ฐฉ๋ฒ
- #include <utility>
- pair<data_type1, data_type2> p_name
๋ฉค๋ฒ ํจ์
- make_pair(a, b) : pair ์์ฑ
- p.first : ์ฒซ ๋ฒ์งธ ์ธ์ ๋ฐํ //a
- p.second : ๋ ๋ฒ์งธ ์ธ์ ๋ฐํ //b
vector<pair<string, int>> v;
v.push_back(make_pair("jiwon", 20));
v.push_back(make_pair("gildong", 30));
for (const auto& i : v) {
cout << i.first <<", "<<i.second<< endl;
}
[์คํ๊ฒฐ๊ณผ]
"jiwon", 20
"gildong", 30
์ ๋ ฌ
- sort() ์ด์ฉํด์ first ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
- ๋ง์ฝ second ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ณ ์ถ๋ค๋ฉด ์ฌ์ฉ์ ํจ์์์ ๋ถ๋ฑํธ ๋ฐฉํฅ์ ๋ฐ๊ฟ์ฃผ๊ธฐ
bool compare(pair<string, int> x, pair<string, int> y) {
return x > y;
}
int main() {
vector<pair<string, int>> v;
v.push_back(make_pair("jiwon", 20));
v.push_back(make_pair("gildong", 30));
for (const auto& i : v) {
cout << i.first <<", "<<i.second<< endl;
}
cout << "์ ๋ ฌ ํ" << endl;
sort(v.begin(), v.end(), compare);
for (const auto& i : v) {
cout << i.first << ", " << i.second << endl;
}
}
'๐ C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] ๋ฌธ์์ด ํจ์ ์ ๋ฆฌ (0) | 2022.07.18 |
---|---|
[C++] STL Vector ๊ด๋ จ ํจ์ ์ ๋ฆฌ (0) | 2022.07.15 |