๐Ÿ“˜ C++

[C++] Pair Container ์‚ฌ์šฉ๋ฒ•

ji_wonna 2022. 7. 18. 23:04

์ •์˜

๋‘ ๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด์ฃผ๋ฉฐ ๋ฐ์ดํ„ฐ์˜ ์Œ์„ ํ‘œํ˜„ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
ex) 2์ฐจ์› ๋ฒกํ„ฐ, ์ขŒํ‘œ๊ณ„...


์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. #include <utility>
  2. pair<data_type1, data_type2> p_name


๋ฉค๋ฒ„ ํ•จ์ˆ˜

  1. make_pair(a, b) : pair ์ƒ์„ฑ
  2. p.first : ์ฒซ ๋ฒˆ์งธ ์ธ์ž ๋ฐ˜ํ™˜ //a
  3. 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