7์ฅ ํ ์ฐ์ต๋ฌธ์ ์ ๋ต.
1. ๋๊ธฐ์ค(ํ)์ ์ค์ ์๋ ๋์๊ณผ ๊ฑฐ๋ฆฌ๊ฐ ๋จผ ๊ฒ์?
1. ๋จผ์ ์ค์ ์ ์ฌ๋์ด ๊ฐ์ฅ ๋จผ์ ์
์ฅํ๋ค.
2. ์
๊ตฌ์ ์ถ๊ตฌ๊ฐ ๋ฐ๋ก ์๋ค.
3. ์ถ๊ตฌ๋ ํ ๊ณณ์ผ๋ก๋ง ์ฌ์ฉํ๋ค.
4. ํ์ํ ๊ฒฝ์ฐ ๊ฐ์ฅ ๋์ค์ ์ค์ ์ ์ฌ๋์ด ๊ฐ์ฅ ๋จผ์ ์
์ฅ๋๊ธฐ๋ ํ๋ค.
- ์ ๋ต : 4๋ฒ
2. ํ์์ ์ฝ์ ๊ณผ ์ถ์ถ์ ์ฌ์ฉ๋๋ ์ฉ์ด ๋ค ๊ฐ์ง๋ฅผ ๊ณ ๋ฅด์์ค
insert
rear
delete
top
enQueue
bottom
front
header
current
pre
pop
deQueue
- ์ ๋ต : rear, enQueue, front, deQueue
3. ํ์์ ๋น์นธ 1์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๋ ์ฝ๋๊ณ , ๋น์นธ 2๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ์ฝ๋๋ค. ๋ชจ๋ front ๋๋ rear์ ๊ด๋ จ๋ ์ฝ๋๋ค. ๋น์นธ 1๊ณผ ๋น์นธ 2๋ฅผ ์ฑ์ฐ์์ค.
queue = [None, None, None, None, None]
front = rear = -1
๋น์นธ 1
queue[rear] = "ํ์ฌ"
๋น์นธ 2
data = queue[front]
queue[front] = None
- ์ ๋ต : rear += 1, front += 1
4. ํ๊ฐ ๊ฝ ์ฐผ๋์ง ํ์ธํ๋ ํจ์๋ค. ๋น์นธ 1์ ์ ํฉํ ์ฝ๋๋?
def isQueueFull() :
global SIZE, queue, front, rear
if ๋น์นธ1 :
return True
else :
return False
- ์ ๋ต : rear == SIZE - 1
5. ํ๊ฐ ๋น์๋์ง ํ์ธํ๋ ํจ์๋ค. ๋น์นธ 1์ ์ ํฉํ ์ฝ๋๋?
def isQueueEmpty() :
global SIZE, queue, front, rear
if ๋น์นธ1 :
return True
else :
return False
- ์ ๋ต : front == rear
6. ํ์์ ๋ค์์ ๋์จ ๋ฐ์ดํฐ๋ ํ์ธ๋ง ํ๋ ํจ์๋ค. ๋น์นธ1๊ณผ ๋น์นธ2์ ์ ํฉํ ์ฝ๋๋?
def peek() :
global SIZE, queue, front, rear
if (isQueueEmpty()) :
print("ํ๊ฐ ๋น์์ต๋๋ค.")
๋น์นธ 1
๋น์นธ 2
- ์ ๋ต : return None, return queue[front + 1]
https://www.hanbit.co.kr/store/books/look.php?p_code=B4186876690
IT CookBook, ํ์ด์ฌ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ for Beginner
๊ธฐ๋ณธ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฝ๊ฒ ํ์ด๋ธ ์ ๋ฌธ์์ ๋๋ค. ๊ธฐ๋ณธ → ๊ฐ๋จ ๊ตฌํ → ์ผ๋ฐ ๊ตฌํ → ์์ฉ ์์ผ๋ก ์ฒด๊ณ์ ์ผ๋ก ํ์ตํ ์ ์์ต๋๋ค.
www.hanbit.co.kr