๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ2

6. STL ์‚ฌ์šฉํ•˜๊ธฐ - std::list STL ์ด๋ž€? C++ ์—์„œ ์ œ๊ณตํ•˜๋Š” STandard Library๋ฅผ STL์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ž๋ฐ”์—์„œ๋Š” ์ž๋ฐ”์—์„œ ์ œ๊ณตํ•˜๋Š” API๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ list์— ๋Œ€ํ•ด ์ง์ ‘ ์„ค๊ณ„ํ•ด๋ณด์•˜๊ณ  list์— ๋Œ€ํ•œ ์„ค๋ช…์ด ์ถฉ๋ถ„ํ–ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” STL์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์–ด๋–ค ๊ธฐ๋Šฅ์ด ์žˆ๊ณ  ์–ธ์ œ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ์ง€ ์ƒ๊ฐํ•ด๋ณด๋„๋ก ํ•˜์ž. โ€ป ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” Method๋Š” ์ œ์™ธํ•œ๋‹ค. (ํšจ์œจ์  ์‚ฌ์šฉ) std::list Construct Method Description (constuctor) ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ์‹œ ์ž…๋ ฅ ๊ฐ’ operator= = ๊ธฐํ˜ธ์— ๋Œ€ํ•œ ์—ฐ์‚ฐ ๋ฐฉ๋ฒ• Iterators Method Description begin() ๋ฆฌ์ŠคํŠธ Head์— ์†ํ•œ ๋ฐ์ดํ„ฐ ์œ„์น˜ end() ๋ฆฌ์ŠคํŠธ ๋งˆ์ง€๋ง‰ ์œ„์น˜ != Tail, null ๊ฐ’ rbegin.. 2024. 2. 11.
4. STL ๋”ฐ๋ผ์žก๊ธฐ - ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ (Doubly Linked List) ๊ตฌํ˜„ ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ž€ ? ์—ฌ๊ธฐ์„œ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ  ์—ฌ๊ธฐ์„œ ๋‹จ์ˆœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค. ๋˜, ์•ž์„  ํฌ์ŠคํŒ…์—์„œ ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๋ฐฉ๋ฒ•์„ ๋งํ–ˆ๋Š”๋ฐ '์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ' ๋Š” ์–‘๋ฐฉํ–ฅ(์ด์ค‘)์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์ฆ‰, ์‹ฑ๊ธ€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ์ฝ”์Šค ์—ฌํ–‰์ด๋ผ๋ฉด ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ์ž์œ  ์—ฌํ–‰์ด๋‹ค. ์ด์— ๋Œ€ํ•ด์„  ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ์˜ˆ์‹œ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋ฒˆ ์ƒ๊ฐํ•ด๋ณด๊ณ  ๋น„์Šทํ•œ ์˜ˆ์‹œ๋ฅผ ์ฐพ์•„์„œ ๋ณธ์ธ๋งŒ์˜ ๊ฐœ๋…์œผ๋กœ ์ดํ•ดํ•˜๊ธธ.. ์ด๋ฒˆ STL ๋”ฐ๋ผ์žก๊ธฐ ํฌ์ŠคํŠธ๋Š” standard library์ธ list๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ฒ ๋‹ค. ๋จผ์ €, list์— ์–ด๋–ค ๊ธฐ๋Šฅ์ด ์žˆ๋Š”์ง€ ํ•œ ๋ฒˆ ์•Œ์•„๋ณด์ž. ์šฐ๋ฆฌ๋Š” STL list์— ์–ด๋–ค ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์–ด์žˆ๋Š”์ง€ ํŒŒ์•…ํ•œ ๋’ค์— ์ด๋ฅผ ์ •๋ฆฌํ•  ๊ฒƒ์ด๋‹ค. ๊นƒํ—ˆ๋ธŒ ์ด์Šˆ์— ๊ตฌํ˜„ํ•  ๋‚ด์šฉ์„ ์ž‘์„ฑํ•˜๊ณ  ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ์ €์žฅํ• .. 2024. 2. 7.