[Elm] ๋ฆฌ์ŠคํŠธ

[์›๋ณธ ๋งํฌ]

๋ฆฌ์ŠคํŠธ๋Š” Elm์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ณตํ•ฉ ํƒ€์ž…์ด๋‹ค.
๋ฆฌ์ŠคํŠธ์˜ ๊ฐ’์€ ๋Œ€๊ด„ํ˜ธ๋กœ ๊ฐ์‹ธ์ธ ์ฑ„, ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ์‹œํ€€์Šค๋กœ ํ‘œํ˜„๋œ๋‹ค.
์ด๋ ‡๊ฒŒ ๋ง์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํƒ€์ž…์€ List ์š”์†Œํƒ€์ž…๊ณผ ๊ฐ™์ด ํ‘œํ˜„ํ•œ๋‹ค.

๋ฆฌ์ŠคํŠธ์—์„œ ๊ฐ€์žฅ ์ž์ฃผ ์“ฐ์ด๋Š” ํ•จ์ˆ˜๋Š” head, tail, isEmpty ๋“ฑ์ด ์žˆ๋‹ค.

head๋Š” ์ฒซ๋ฒˆ์งธ ์ธ์ž๋ฅผ, tail์€ ๊ทธ ๋‚˜๋จธ์ง€๋ฅผ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  isEmpty๋Š” ๋ฐฐ์—ด์ด ๋น„์–ด์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•œ๋‹ค.



๋ฆฌ์ŠคํŠธ ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž ::

::์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์š”์†Œ๋ฅผ ์‰ฝ๊ฒŒ head๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋Š” ์š”์†Œ๊ณ , ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋Š” ๋ฆฌ์ŠคํŠธ์—ฌ์•ผ ํ•œ๋‹ค.
๊ทผ๋ฐ ๊ฒฐํ•ฉ์„ ์˜ค๋ฅธ์ชฝ์—์„œ๋ถ€ํ„ฐ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ์ŠคํŠธ๋Š” ๋งจ ์˜ค๋ฅธ์ชฝ์— ํ•˜๋‚˜๋งŒ ์žˆ์–ด๋„ ๋œ๋‹ค.



๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž ++

์œ„์—๊ฑด ์•ˆ๋์ง€๋งŒ ์ด๊ฑด ๋ฆฌ์ŠคํŠธ๋ผ๋ฆฌ์˜ ์—ฐ๊ฒฐ์„ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค.


์ด์™ธ์—๋„ ์œ ์šฉํ•œ ํ•จ์ˆ˜๋“ค์ด ์ฐธ ๋งŽ์œผ๋‹ˆ, ์•„๋ž˜ ๋ฌธ์„œ๋“ค์„ ์ฐธ์กฐํ•ด๋ณด๊ธธ ๋ฐ”๋ž€๋‹ค.


์ฐธ์กฐ
https://www.tutorialspoint.com/elm/elm_list.htm