-
Notifications
You must be signed in to change notification settings - Fork 1
Description
๐ง๐ปโ๐ซ ์๋ฃ๊ตฌ์กฐ
๐์คํ
- ๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ๋์ค์ ๋์ค๋ ๊ฒ์ด ๊ท์น์ด๋ค.
์ผ์ ์ํ์์ ์๋ฅผ ๋ค์ด๋ณด์๋ฉด, ์๋ ๋ฒ ์ดํฐ๋ ์งํ์ฒ ๋ฒ์ค๋ฅผ ํ๊ณ ๋ด๋ฆด ๋ ๋ฆ๊ฒ ๋ค์ด๊ฐ ์ฌ๋์ด ๋จผ์ ๋์ค๊ฒ ๋๋ ๊ฒฝ์ฐ๋ฅผ ์ด ์คํ์ด๋ผ๋ ๊ฐ๋
์ ๋น์ ํด๋ณผ ์ ์๋ค.
์ถ์ ์๋ฃํ
๋จผ์ , ์ถ์์๋ฃํ์ ๊ธฐ๋ฅ์ ๊ตฌํ ๋ถ๋ถ์ ๋ํ๋ด์ง ์๊ณ ์์ํ ๊ธฐ๋ฅ์ด ๋ฌด์์ธ์ง ๋์ดํ ๊ฒ์ ์ถ์ ์๋ฃํ์ด๋ผ๊ณ ํ๋ค.
์คํ์ ์ถ์ ์๋ฃํ
- push ๋ฐ์ดํฐ ์ฝ์
- pop ๋ฐ์ดํฐ ์ ๊ฑฐ
- peek ๋ฐ์ดํฐ ์ฐธ์กฐ
- isEmpty ๋น์๋์ง ์ฒดํฌ
push๋ก ํ์ฌ๊ธ ์คํ์ ๋ฐ์ดํฐ๋ค์ด ์์ธ๋ค. ๊ทธ๋ฆฌ๊ณ pop ํจ์๋ก ์ธํด ๋ฆ๊ฒ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ๋๊ฐ๋ค.
๐ํ
- ๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ๋์ค๋ ๊ฒ์ด ๊ท์น์ด๋ค.
์คํ๊ณผ์ ๋ฐ๋๋๋ ๊ฐ๋ ์ด๋ผ๊ณ ๋ณด๋ฉด๋๋ค.
์ผ์ ์ํ๋ก ์๋ฅผ ๋ค์ด๋ณด๋ฉด, ๋งํธ์์ ์ค์ ์์ ๊ณ์ฐํ ๋ ๋จผ์ ์จ ์๋์ ๋จผ์ ๊ณ์ฐํ๋ ๊ฒฝ์ฐ๋ผ๊ณ ๋ณด๋ฉด ๋๋ค. ํ๋ ์ด์์ฒด์ ๋ก์ ์์๋ก๋ ๋ณผ ์ ์๋ค. ์ด์์ฒด์ ์ ๋จผ์ ๋ค์ด์จ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌํด์ฃผ๋ ๊ฒ์ด๋ค.
ํ์ ์ถ์ ์๋ฃํ
- enqueue ๋ฐ์ดํฐ ์ฝ์
- dequeue ๋ฐ์ดํฐ ์ ๊ฑฐ
- front ๋ฐ์ดํฐ ์ฐธ์กฐ
- isEmpty ๋น์๋์ง ํ์ธ
๋ฐ์ดํฐ๊ฐ ์ฝ์ , ์ญ์ ๋ ๋ ์ด์ ๋ ธ๋๋ฅผ ์๋ก ์ฝ์ ํ ๋ ธ๋๋ก ์ค์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ head์ ์ฝ์ ํ๋ ๊ฒฝ์ฐ์ tail์ ์ฝ์ ํ๋ ๊ฒฝ์ฐ ๊ทธ ์ธ ์์น์ ์ฝ์ ํ๋ ๊ฒฝ์ฐ์ ์ฝ๋๋ก ๊ตฌ๋ถํ์ฌ ์ง ๋ค.
๐๋ฑ
- ์คํ๊ณผ ํ๋ฅผ ์งฌ๋ฝ ์ํจ ์์ ๋ก์ด ์๋ฃ๊ตฌ์กฐ์ด๋ค.
๋ฑ์ ์ถ์ ์๋ฃํ
- printAll : ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ค.
- addFirst : head์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๋ค.
- removeFirst : head์์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๋ค.
- addLast : tail์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๋ค.
- removeLast : tail์์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๋ค.
- isEmpty : ๋น์๋์ง ํ์ธ
๐ํด์ํ ์ด๋ธ
- ํด์ ํ ์ด๋ธ์ **ํด์์ ํ ์ด๋ธ์ด ํฉ์ณ์ง ์๋ฃ๊ตฌ์กฐ (key์ value ๊ฐ์ด๋ผ๊ณ ๋ณด๋ฉด ๋จ)**์ด๋ค. ๋ง์ผ ์ถฉ๋์ด ๋ฐ์ํ๋ค๋ฉด ์ธ๋ฑ์ค๋ค์ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ก ์ค๋ณต๋ ๊ฐ๋ค ๋ ๋ค ์ ์ฅ์ํ๋ค.
ํด์ํ ์ด๋ธ์ ์ถ์ ์๋ฃํ
- set : key์ value์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๋ค.
- get : key์ value์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ค.
- remove : key์ value์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๋ค.
ํด์ํ ์ด๋ธ์ ์ฅ์
- ๋น ๋ฅธ ๋ฐ์ดํฐ ์ฝ๊ธฐ, ์ฝ์ , ์ญ์
๋จ์
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฐจ์งํ๋ค.
- ํด์ ํจ์์ ๋ฐ๋ผ ๊ณต๊ฐ์ ๋ญ๋น๊ฐ ๊ทน๋ํ๋ ์๋ ์๊ณ ์กฐ๊ธ ๋ํ ์๋ ์๋ค.
- ์ข์ ํด์ ํจ์์ ๊ตฌํ์ ํ์๋ค.
๐์
- ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉํ์ง ์๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
- ํ๋ก๊ทธ๋๋ฐ์ ํ๋ค๊ฐ ์ค๋ณต๋์ง ์๋ ๊ฐ์ ์ ์ฅํ๊ณ ์ถ๋ค๋ฉด ์ ์ ์ด์ฉํ๋ฉด ๋๋ค. ์ ์ ํด์ ํ ์ด๋ธ์ ์ด์ฉํ๊ธฐ ๋๋ฌธ์ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค.
- key๊ฐ๋ง ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์๋ค.
์ ์ ์ถ์ ์๋ฃํ
- add(data) : key์ value์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๋ค.
- isContain(data) : ๋ฐ์ดํฐ ์ฒดํฌ
- remove(data) : key์ value์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๋ค.
์ ๊ดํธ์์ data๋ ๋งค๊ฐ๋ณ์๋ฅผ ๋ปํ๋ค.
- clear() : ์ ์ ๋น์ฐ๊ธฐ
- isEmpty() : ์ ์ด ๋น์๋์ง ์ฒดํฌ
- printAll() : ๋ชจ๋ ๋ฐ์ดํฐ ์ถ๋ ฅ