What-is-queue.md
๊ฐ๋
๋จผ์ ์ง์ด ๋ฃ์ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ๋์ค๋ FIFO(First In First Out)๊ตฌ์กฐ๋ก ์ ์ฅํ๋ ๋ฐฉ์
์ฉ์ด
Front : ์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ
Rear : ๊ฐ์ฅ ๋ง์ง๋ง ๋ฐ์ดํฐ
front, rear์ ์ด๊น๊ฐ : -1
์ฐ์ฐ
FIFO - First In First Out
Enqueue : ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๋ ๋์
add(item) item์ ๋ฆฌ์คํธ์ ๋๋ถ๋ถ์ ์ถ๊ฐ
rear = rear + 1 ํ item ์ถ๊ฐ
Dequeue : ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ๋์
remove : ๋ฆฌ์คํธ์ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์ ์ ๊ฑฐ
front = front + 1
peek : ํ์์ ๊ฐ์ฅ ์์ ์๋ ํญ๋ชฉ์ ๋ฐํ
isEmpty : ํ๊ฐ ๋น์ด์์ ๋ true๋ฅผ ๋ฐํ
(front == rear) ? True : False
isFull : rear = n - 1
์ข
๋ฅ
์ ํ
1์ฐจ์ ๋ฐฐ์ด์ ํํ๋ก ์ด๋ฃจ์ด์ ธ์์ต๋๋ค.
ํํ
front์ rear์ ๊ฐ์ด ๊ณ์ ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ ์ธ์ ๊ฐ๋ ๋ฐฐ์ด์ ๋์ ๋๋ฌํ๊ฒ ๋๊ณ ๋ฐฐ์ด์ ์๋ถ๋ถ์ด ๋น์ด์๋๋ผ๋ ์ฌ์ฉํ์ง ๋ชปํฉ๋๋ค.
๋ฐ๋ผ์ ์(ํ)ํ ํ๊ฐ ๋์ค๊ฒ ๋์์ต๋๋ค.
front ์์ ๋จ์ ๊ณต๊ฐ์ ์ฌ์ฉํ์ง ๋ชปํ๋ ์ ํํ์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ ์๋ ์ํํ๋ ๋ฐฐ์ด์ ์์๊ณผ ๋์ด ์ด์ด์ ธ ์๋ ๊ฒ์ฒ๋ผ ์ฌ์ฉํ๊ธฐ ์ํด (rear+1)%arraysize์ ํ์์ผ๋ก ํฌ์ธํฐ๋ฅผ ์ฆ๊ฐ์ํต๋๋ค.
๊ตฌํ
์ ํํ
์ํ ํ
์ค์ ์ฝ๋ฉํ ์คํธ์์๋ collections ๋ชจ๋์ deque๋ฅผ ์ฌ์ฉํ์!
Last updated