C++ STL
MAP
Map container
๋ ธ๋๊ธฐ๋ฐ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ ๊ท ํ ์ด์งํธ๋ฆฌ ๊ตฌ์กฐ(๋ ๋๋ธ๋ ํธ๋ฆฌ๋ก ๊ตฌํ๋์ด ์๋ค.)
key์ value๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ ์ด๋ pair ๊ฐ์ฒด๋ก ์ ์ฅ
Unique Key
key๋ ๊ณ ์ ํ ๊ฐ์ด๋ฏ๋ก ์ค๋ณต์ด ๋ถ๊ฐ๋ฅํ๋ค.
์ค๋ณต key๋ multimap์์ ๊ฐ๋ฅํ๋ค.
Ordered
map๋ set๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฝ์ ์ด ๋๋ฉด์ ์๋์ผ๋ก ์ ๋ ฌ์ด ๋๋ค.(default๋ less/์ค๋ฆ์ฐจ์)
์ฐ๊ด์๋ ๋ ๊ฐ์ ํจ๊ป ๋ฌถ์ด์ ๊ด๋ฆฌํ๋, ๊ฒ์์ ๋น ๋ฅด๊ฒ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค.
๊ธฐ๋ณธ์ ์ธ map ์ฌ์ฉ๋ฒ
๋ฉค๋ฒํจ์
๊ธฐ๋ฅ
map.size()
map ์ ๋ ธ๋ ๊ฐ์๋ฅผ ๋ฆฌํด.
map.empty()
map์ ์ฌ์ด์ฆ๊ฐ 0์ธ์ง ์๋์ง๋ฅผ ํ์ธ.
map.begin()
map์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ iterator ๋ฆฌํด.
map.end()
map์ ๋ง์ง๋ง ์์๋ฅผ ๊ฐ๋ฆฌํค๋ iterator ๋ฆฌํด.
map[key] = value
map์ key๊ฐ key์ด๊ณ value๊ฐ value์ธ ๋ ธํธ ์ถ๊ฐ
map.insert(make_pair(key,value))
map์ key๊ฐ key์ด๊ณ value๊ฐ value์ธ ๋ ธํธ ์ถ๊ฐ
map.erase(key)
map์์ ํค๊ฐ key์ธ ๋ ธ๋ ์ญ์
map.find(key)
map์์ ํค๊ฐ key์ธ ๋ ธ๋๋ฅผ ์ฐพ์, ํด๋น ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ iterator ๋ฆฌํด.
map.count(key)
map์์ ํค๊ฐ key์ธ ๋ ธ๋์ ๊ฐ์๋ฅผ ๋ฆฌํด.
iterator ์ฌ์ฉ๋ฐฉ๋ฒ.
Set
Set Container
key๋ง ์๋ map ํน์ ์ ๋ ฌ๋ ์งํฉ.(value๊ฐ ์๋ map์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.)
ํน์ ๊ฐ์ ๋ํด ๊ฒ์์ ๋น ๋ฅด๊ฒ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค.
๊ธฐ๋ณธ์ ์ธ Set ์ฌ์ฉ๋ฒ
๋ฉค๋ฒํจ์
๊ธฐ๋ฅ
s.size()
s์ ๋ ธ๋ ๊ฐ์๋ฅผ ๋ฆฌํด
s.size()
s์ ๋ ธ๋ ๊ฐ์๋ฅผ ๋ฆฌํด
s.empty()
s์ ์ฌ์ด์ฆ๊ฐ 0์ธ์ง ์๋์ง๋ฅผ ํ์ธ
s.begin()
s์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ iterator ๋ฆฌํด
s.end()
s์ ๋ง์ง๋ง ์์๋ฅผ ๊ฐ๋ฆฌํค๋ iterator ๋ฆฌํด
s.insert(k)
s์ ๊ฐ์ด k์ธ ๋ ธ๋ ์ถ๊ฐ
s.erase(k)
s์์ ๊ฐ์ด k์ธ ๋ ธ๋ ์ญ์
s.find(k)
s์์ ๊ฐ์ด k์ธ ๋ ธ๋๋ฅผ ์ฐพ์, ํด๋น ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ iterator ๋ฆฌํด (๊ฐ์ด k์ธ ๋ ธ๋๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ, s์ ๋ง์ง๋ง ์์๋ฅผ ๊ฐ๋ฆฌํค๋ iterator ๋ฆฌํด)
s.count(k)
s์์ ๊ฐ์ด k์ธ ๋ ธ๋์ ๊ฐ์๋ฅผ ๋ฆฌํด
ํน์ key ์ญ์
vector
vector์์ iterator๋ฅผ ํตํ ๋ฐ๋ณต ๋์ค ์์ ์ญ์ .
BitSet
๋นํธ์ฐ์ฐ์ ์ ์ดํ๊ณ ์์ ๋ ๋นํธ์ ๊น์ง ์๊ณ ์๋ค๋ฉด ๋นํธ์ ๊ดํ ๋ด์ฉ์ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๋ค.
ํค๋
๊ธฐ๋ณธ์ ์ธ Bitset ์ฌ์ฉ๋ฒ
๋ฉค๋ฒํจ์
๊ธฐ๋ฅ
bitset<๊ฐ์> ์ด๋ฆ
bitset ์ ์ธ
bit.set()
์ ์ฒด ๋นํธ๋ฅผ 1๋ก ์ ํ
bit.set(n,true/false)
n+1๋ฒ์งธ ๋นํธ๋ฅผ 1๋๋ 0์ผ๋ก ์ ํ
bit.reset()
์ ์ฒด ๋นํธ๋ฅผ 0์ผ๋ก ๋ฆฌ์
bit.size()
bitset์ ํฌ๊ธฐ๋ฅผ ๊ตฌํ๋ค.
bit.any()
๋นํธ์ ์ค ํ๋๋ผ๋ 1์ด๋ฉด 1์ ๋ฐํ, ๋ชจ๋ 0์ผ๋๋ง 0์ ๋ฐํ
bit.none()
๋นํธ์ ์ค๋ชจ๋๊ฐ 0์ด์ด์ผ 1์ ๋ฐํ.
bit.flip()
์ ์ฒด ๋นํธ๋ฅผ ๋ฐ์
bit.flip(n)
n+1๋ฒ์งธ ๋นํธ๋ฅผ ๋ฐ์
bit.test(n)
n+1๋ฒ์งธ ๋นํธ๋ฅผ ๊ฒ์ฌ(1์ธ์ง 0์ธ์ง)
bit.to_string()
์ ์ฒด ๋นํธ๋ฅผ stringํ ์ํจ๋ค.
bit.test[4]==bit[4]
๋ฐฐ์ด์ฒ๋ผ ์ด์ฉ์ด ๊ฐ๋ฅํ๋ค
Reference
Last updated
Was this helpful?