C++/c++
[STL] set
Rainbow๐Coder
2022. 1. 18. 20:07
728x90
Set์ ํน์ง
- ์์๊ฐ ์ฝ์ ๋๋ฉด ์๋์ผ๋ก ์ ๋ ฌ
set<string>s; // ์ค๋ฆ์ฐจ์
set<string, greater<>>s; // ๋ด๋ฆผ์ฐจ์
- ์ค๋ณต๊ฐ์ ํ์ฉํ์ง ์๋๋ค.
set์ ์์๊ฐ ๋ค์ด๊ฐ๋ฉด ๊ทธ ์์์ ๊ฐ์ ํค(key)๋ผ๊ณ ํ๋ฉฐ
์ค๋ณต์์๋ฅผ ํ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ฐ ํค๋ ์ ๋ถ ๊ณ ์ ํ๋ค.
Set์ ์ฌ์ฉํ๊ธฐ ์ข์ ๊ฒฝ์ฐ
1. ์ฝ์ ๊ณผ ๋์์ ์ ๋ ฌ์ด ํ์ํ ๋
2. ์ค๋ณต์ ์ ๊ฑฐํ ์์์ ์งํฉ์ด ํ์ํ ๋
3. ์๋ก ์ฝ์ ํ๋ ค๋ ์์๊ฐ ์ค๋ณต์ธ์ง ํ์ธํ ๋
set<string>s;
std::pair<set<string>::iterator,bool> ret;
ret = s.insert("a"); // s={a}
cout<< ret.second <<endl; // ์ถ๋ ฅ 1
ret = s.insert("a"); // s={a}
cout<< ret.second <<endl; // ์ถ๋ ฅ 0, a๊ฐ ์ด๋ฏธ ์์์ผ๋ฏ๋ก
lower_bound(๊ฐ), upper_bound(๊ฐ), find(์์), count(์์)๋ ํ์ฉํ ์ฌ์ง๊ฐ ๋ง์ ๊ฒ ๊ฐ๋ค.
set์ ๋ํด ์ ์ ๋ฆฌํด์ฃผ์ ๋ธ๋ก๊ทธ : [C++, STL] ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด๋ฅผ ์ํ ์ (set) - ์ฝ๋ ๋ค์ด์ด๋ฆฌ (tistory.com)
728x90