array(2)
-
๋ค์ ์ ๋ฆฌํ๋ C++ STL ์๋ฃ๊ตฌ์กฐ vector
[ STL ์๋ฃ๊ตฌ์กฐ vector] STL vector๋ array์ ๋ฌ๋ฆฌ ๋์ ๋ฐฐ์ด์ด๋ค. ๋์ ์ด๋ ๋ฌด์จ ๋ป์ผ๊น? ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋ ๋ฌด์์ธ๊ฐ๊ฐ ๋ณํํ๋ค๋ ์๋ฏธ์ด๋ค. ๋ฐฐ์ด์์ ๋ณํ ์ ์๋ ๊ฒ์ ๋ฐฐ์ด์ ์์ ๊ฐ์์ด๋ค. vector๋ ์คํ ์ ์์์ ๊ฐ์๊ฐ ๋ณํ ์ ์๋ค. vector๋ ๋ฐ๋์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์๋ฅผ ์ ์ฅํ๋ค. vector์ ์์๊ฐ ๊ฐ๋ ์ฐจ๋ฉด, ๋ฉ๋ชจ๋ฆฌ๋ new๋ก ์์ฒญํด์ ์๋ก ํ๋ณดํ๋ค. 1. ํ์ฌ ๋ด์ ์ ์๋ ์์์ ๊ฐ์(capacity) ๋ณด๋ค ๋ ํฐ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ฒญํ๋ค. 2. ์ ๋ฉ๋ชจ๋ฆฌ์ ํ์ฌ ์์๋ฅผ ๋ชจ๋ ๋ณต์ฌํ๋ค. 3. ๋ณต์ฌํ ์์๋ค์ ๋ค์ ์์น์ ์ ์์๋ฅผ ์ถ๊ฐ(push_back)ํ๋ค. 4. ์ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฐํ(delete)ํ๋ค. ์ฆ, ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ก ํ ๋น๋ฐ๊ณ ๊ฑฐ..
2020.08.07 -
๋ค์ ์ ๋ฆฌํ๋ C++ STL ์๋ฃ๊ตฌ์กฐ array
[ STL ์๋ฃ๊ตฌ์กฐ array ] array๋ ๋ค๋ฅธ STL ์ปจํ ์ด๋์ ๊ฐ์ด ๋์ผํ ์๋ฃํ์ ๋ด์ ์ ์๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด STL์์ ์ ๊ณตํ๋ ๋ฐฐ์ด ์ปจํ ์ด๋์ด๋ค. ์ฐ๋ฆฌ๊ฐ ๋ง๋๋ ๋ฐฐ์ด๋ณด๋ค ์ข ๋ ๊ธฐ๋ฅ์ ์ผ๋ก ๋ง์ ๋๋ํ ๋ฐฐ์ด์ด๋ค. ์ฆ, POD ๋ฐฐ์ด์ ๊ธฐ๋ฅ์ ๊ทธ๋๋ก ํ๋ฉด์ ๋ค๋ฅธ ์ผ๋ ํ ์ ์๋๋ก ํด๋์ค๋ก ๋ง๋ ๋ฐฐ์ด์ด๋ค. ๊ทธ๋ฌ๋ฉด์๋ POD ๋ฐฐ์ด๊ณผ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๋ ๊ฐ๋ค. POD๋? Plain Old Data. ๋ฉ๋ชจ๋ฆฌ ์์์ ์ฐ์์ ์ธ ๋ฐ์ดํธ์ด์ ๋งํ๋ค. ๋ฐฐ์ด์ ๋จ์ํ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋์ผํ ์๋ฃํ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ์๋ ๊ณต๊ฐ์ ์ ์ฅํ๋ค. ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ค์ ๋ก ๋ถ์ด์์ผ๋ฏ๋ก ์์ ๋ฒ์ง ์ฃผ์๋ง ๊ธฐ์ตํ๊ณ ์์ผ๋ฉด ๋ฐฐ์ด์ ๋ค๋ฅธ ์์๋ก ์ด๋ํ๋ ๊ฒ์ O(1)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ๋๋ค. ์ฆ, a[0]์ ์ต์ธ์คํ๋..
2020.08.06