ํ(Queue) : ๊ฐ์ฅ ๋จผ์ ๋ฃ์ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋จผ์ ๋์ค๋ ๊ตฌ์กฐ
FIFO : First in First out
๋๊ฒ Buffer์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
Python์ ์ฅ์ ์ค ํ๋๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ํ๋ค๊ฒ ๊ตฌํํ ํ์๊ฐ ์๋ค๋ ์ ์ ๋๋ค.
Classํ์ผ๋ก Queue๋ฅผ ํํํ ์ ์์ง๋ง, ์ ๋ ์ต๋ํ ๋จ์ํ๊ฒ ๊ฐ๋ ์ฝ๋ฉ์ ์ข์ํ๊ธฐ ๋๋ฌธ์ list๋ฅผ ์ด์ฉํด์
ํ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํด๋ณด๊ฒ ์ต๋๋ค..
์ฐ์ , ์ฌ๊ทํจ์๋ฅผ ์ด์ฉํด์ FIFO ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๊ฒ ์ต๋๋ค.
def stack(start, end):
if start <= end:
print('Put :', start)
stack(start + 1, end)
print("Get :", end-start)
else:
print("--------")
stack(start=0, end=5)
#๊ฒฐ๊ณผ
Put : 0
Put : 1
Put : 2
Put : 3
Put : 4
Put : 5
--------
Get : 0
Get : 1
Get : 2
Get : 3
Get : 4
Get : 5
https://coding-yoon.tistory.com/43?category=830017
์ ๋งํฌ๋ฅผ ํ ๋ณด์๋ฉด stack๊ตฌ์กฐ์ ๋ค๋ฅธ ๋ด์ฉ์ ๊ฑฐ์ ์์ต๋๋ค.
0, 1, 2, 3, 4, 5 ์์ผ๋ก ๋ค์ด๊ฐ๋ค๋ฉด 0, 1, 2, 3, 4, 5์ผ๋ก ๋ค์ ๋์ค๋ ๊ตฌ์กฐ์ ๋๋ค.
import queue
queue_list = queue.Queue()
for i in range(10):
queue_list.put(i)
print("Put :", i)
print("------------------")
for i in range(10):
print("Get :", queue_list.get())
# ๊ฒฐ๊ณผ
Put : 0
Put : 1
Put : 2
Put : 3
Put : 4
Put : 5
Put : 6
Put : 7
Put : 8
Put : 9
------------------
Get : 0
Get : 1
Get : 2
Get : 3
Get : 4
Get : 5
Get : 6
Get : 7
Get : 8
Get : 9
import queue๋ฅผ ์ฌ์ฉํ์๋ฉด ๊ฐ๋จํ๊ฒ FIFO๊ตฌ์กฐ๋ฅผ ๊ตฌํํ์ค ์ ์์ต๋๋ค.