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

๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ2

4. STL ๋”ฐ๋ผ์žก๊ธฐ - ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ (Doubly Linked List) ๊ตฌํ˜„ ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ž€ ? ์—ฌ๊ธฐ์„œ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ  ์—ฌ๊ธฐ์„œ ๋‹จ์ˆœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค. ๋˜, ์•ž์„  ํฌ์ŠคํŒ…์—์„œ ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๋ฐฉ๋ฒ•์„ ๋งํ–ˆ๋Š”๋ฐ '์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ' ๋Š” ์–‘๋ฐฉํ–ฅ(์ด์ค‘)์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์ฆ‰, ์‹ฑ๊ธ€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ์ฝ”์Šค ์—ฌํ–‰์ด๋ผ๋ฉด ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ์ž์œ  ์—ฌํ–‰์ด๋‹ค. ์ด์— ๋Œ€ํ•ด์„  ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ์˜ˆ์‹œ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋ฒˆ ์ƒ๊ฐํ•ด๋ณด๊ณ  ๋น„์Šทํ•œ ์˜ˆ์‹œ๋ฅผ ์ฐพ์•„์„œ ๋ณธ์ธ๋งŒ์˜ ๊ฐœ๋…์œผ๋กœ ์ดํ•ดํ•˜๊ธธ.. ์ด๋ฒˆ STL ๋”ฐ๋ผ์žก๊ธฐ ํฌ์ŠคํŠธ๋Š” standard library์ธ list๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ฒ ๋‹ค. ๋จผ์ €, list์— ์–ด๋–ค ๊ธฐ๋Šฅ์ด ์žˆ๋Š”์ง€ ํ•œ ๋ฒˆ ์•Œ์•„๋ณด์ž. ์šฐ๋ฆฌ๋Š” STL list์— ์–ด๋–ค ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์–ด์žˆ๋Š”์ง€ ํŒŒ์•…ํ•œ ๋’ค์— ์ด๋ฅผ ์ •๋ฆฌํ•  ๊ฒƒ์ด๋‹ค. ๊นƒํ—ˆ๋ธŒ ์ด์Šˆ์— ๊ตฌํ˜„ํ•  ๋‚ด์šฉ์„ ์ž‘์„ฑํ•˜๊ณ  ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ์ €์žฅํ• .. 2024. 2. 7.
3. STL ๋”ฐ๋ผ์žก๊ธฐ - ๋‹จ์ˆœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ (Singly Linked List) ๊ตฌํ˜„ ๋‹จ์ˆœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ž€ ? ์ด์ „ 2. Linked List (์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ) ํฌ์ŠคํŠธ์—์„œ ์„ค๋ช…๋œ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ๋ฐ์ดํ„ฐ ๊ฐ„์— '์—ฐ๊ฒฐ'๋˜์–ด ์žˆ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์—ฐ๊ฒฐ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. A ์—์„œ B๋กœ ๊ฐˆ ๋•Œ(๋‹จ๋ฐฉํ–ฅ), A ใ…ก> B ๋˜๋Š” B ใ…ก> A A ์—์„œ B๋กœ ๊ฐ€๊ณ  B์—์„œ๋„ A๋กœ ๊ฐˆ ์ˆ˜ ์žˆ์„ ๋•Œ(์–‘๋ฐฉํ–ฅ), A B ๋˜๋Š” A ใ…ก B ๋‹จ์ˆœ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ์ด ์ค‘, ๋‹จ๋ฐฉํ–ฅ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋‹จ์ˆœ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์ด๋‹ค. ๋Œ€์‹ , ์ฃผ์˜ํ•  ์ ์ด ์žˆ๋‹ค. A๊ฐ€ ์‹œ์ž‘์ , B๊ฐ€ ์ข…์ ์ธ ๊ฒฝ์šฐ์—๋Š” B์—์„œ A๋กœ ๊ฐˆ ์ˆ˜ ์—†๋‹ค. ์ฆ‰, ์ˆœํ™˜์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด๋‹ค. A ใ…ก> B ใ…ก> A ใ…ก > B ( X ) A ใ…ก> B ใ…ก> ๋ ( O ) ๋‹จ์ˆœ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ์ด๊ฒŒ ๋์ด๋‹ค. ๊ทธ๋Ÿผ, ์ฃผ๋กœ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๊ณ .. 2024. 2. 4.