์๊ณ ๋ฆฌ์ฆ(3)
-
๋ค์ ์ ๋ฆฌํ๋ C++ STL ์๋ฃ๊ตฌ์กฐ list
[ STL ์๋ฃ๊ตฌ์กฐ list ] STL์ list๋ ์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ด๋ค. ์์๋ฅผ ํ ๋ฒ์ ํ๋์ฉ ์ ๋ค๋ก ์ํํ ์ ์๋ ์๋ฐฉํฅ ๋ฐ๋ณต์(bidirectional iterator)๋ฅผ ์ ๊ณตํ๋ค. ์ด๋ ์์น์์๋ ์์ ์๊ฐ์ ์์๋ฅผ ์ฝ์ & ์ญ์ ํ ์ ์๋ค.vector์ ๋ฌ๋ฆฌ ํญ์ ์์ ์๊ฐ์ ์์๋ฅผ ์ ๊ทผํ ์ ์๋ ๋๋ค ๋ฐ๋ณต์๋ฅผ ์ ๊ณตํ์ง๋ ์์ง๋ง,๋ง์ ์๊ณ ๋ฆฌ์ฆ ํจ์๋ ์์ฐจ์ ์ผ๋ก ์ก์ธ์คํ ์๋ง ์์ผ๋ฉด ์ถฉ๋ถํ๋ค. [ STL list ์์ ์ถ๊ฐ ] list๋ ์๋ฐฉํฅ์ผ๋ก ์์์ ์ ๊ทผํ ์ ์๊ธฐ ๋๋ฌธ์ vector์ ๋ฌ๋ฆฌ ์ปจํ ์ด๋์ ์, ๋ค๋ก ์์๋ฅผ ์ถ๊ฐํ ์ ์๋ค. [ STL list ์์ ์ ๊ฑฐ ] 1. ์ ์ญํจ์ remove 4๋ผ๋ ์์๊ฐ ์ ๊ฑฐ๋์ง๋ง, remove() ํจ์๋ ์ ๊ฑฐํ๋ ค๋ ์์๊ฐ ์ด๋ค ์ปจํ ์ด๋์ ์์..
2020.08.09 -
๋ค์ ์ ๋ฆฌํ๋ C++ STL [ ๊ฐ์ ]
[ STL (Standard Template Library) ] STL(Standard Template Libray)์ด๋ ํ์ค ํ ํ๋ฆฟ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ํ ํ๋ฆฟ(Template)์ ๋ฌด์์ผ๊น? ํ ํ๋ฆฟ(Template)์ C++์์ ์ ๊ณตํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํ ๊ธฐ๋ฅ์ผ๋ก ์๋ฃํ์ ์ฝ๋งค์ด์ง ์๊ณ ๋์ํ ์ ์๋๋ก ๋ฒ์ฉ์ ์ธ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํด ์ค๋ค. ์๋ฅผ ๋ค์ด์ Add๋ผ๋ ๋ง์ ํจ์๋ฅผ ๋ง๋ ๋ค๊ณ ๊ฐ์ ํ์. ํ ํ๋ฆฟ์ ์ฌ์ฉํ๋ฉด ์๋ฃํ์ ์๊ด์์ด ํจ์๋ฅผ ์์ฑํ์ฌ ๋ฒ์ฉ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค. ์์ ํ ํ๋ฆฟ ํจ์ Add๋ ์ด๋ค ์๋ฃํ์ด๋๋ผ๋ ํจ์์ ์ ๋ฌ๋๋ ๋ ๊ฐ์ ์ธ์๊ฐ ๊ฐ์ ์๋ฃํ์ด๊ธฐ๋ง ํ๋ฉด ๋ ์๋ฃํ์ ๋ํ ์ ์๋ Addํจ์๋ฅผ ๋ง๋ค์ด๋ธ๋ค. ์ด๋ ๊ฒ ๋ฒ์ฉ์ ์ธ ํ๋ก๊ทธ๋๋ฐ์ ์ ๋ค๋ฆญ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ ํ๋ค. ์ฆ, ์๋ฃ..
2020.08.05 -
04. [C++] STL (Standard Template Library) - ์๊ณ ๋ฆฌ์ฆ(algorithm)
for_each ์๊ณ ๋ฆฌ์ฆ ํจ์. ํค๋์์ ์ ๊ณต. for_each(begin, end, function pointer or functor) ์ปจํ ์ด๋๋ฅผ ์ํํ๋ฉด์ ์ธ ๋ฒ์งธ ์ธ์๋ก ๋๊ฒจ๋ฐ์ ํจ์ ํฌ์ธํฐ๋ ํจ์ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ณต ์ํ. ํจ์ ํฌ์ธํฐ๋ ํจ์ ๊ฐ์ฒด๋ '๋จํญ'์ด์ด์ผ ํ๋ค. ๋ฐฐ์ด์ ๋์์ผ๋ก๋ ์ ์ฉ ๊ฐ๋ฅ. count_if ์๊ณ ๋ฆฌ์ฆ ํจ์. ์ปจํ ์ด๋๋ฅผ ์ํํ๋ฉด์ '๋จํญ ์กฐ๊ฑด์'๋ฅผ ์คํํ๋ค. '๋จํญ ์กฐ๊ฑด์'๊ฐ ๋ฐํํ๋ true์ ๊ฐ์๋ฅผ ๊ณ์ฐํ๋ ์๊ณ ๋ฆฌ์ฆ ํจ์. ์ปจํ ์ด๋ ๋ฟ๋ง ์๋๋ผ ๋ฐฐ์ด์ ๋์์ผ๋ก๋ ํ ์ ์๋ค. find_if ์๊ณ ๋ฆฌ์ฆ ํจ์. '๋จํญ ์กฐ๊ฑด์'๊ฐ true๋ฅผ ๋ฐํํ ๊ฒฝ์ฐ์ ํด๋น๋๋ ๋ฐ๋ณต์๋ฅผ ๋ฐํํ๋ค.
2019.06.26