λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μ‹œλ„/Code-States

[D+46] μŠ€νƒκ³Ό 큐

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2020. 10. 22.

 

D+44

-  μŠ€νƒκ³Ό 큐 -

(μŠ€νƒ, 큐)

 


 

 

μŠ€νƒ (Stack)

μŠ€νƒ

μŠ€νƒμ€ LIFO(Last In First Out)으둜 λ‚˜μ€‘μ— λ“€μ–΄μ˜¨ 것이 κ°€μž₯ λ¨Όμ € λ‚˜κ°€λŠ” 것을 μ˜λ―Έν•œλ‹€.

 

일상 μ†μ—μ„œ 예λ₯Ό μ°Ύμ•„λ³΄μžλ©΄ μŒ“μ•„λ†“μ€ μ ‘μ‹œλ₯Ό 예둜 λ“€ 수 μžˆμ„ 것 κ°™λ‹€.

 

높이 μŒ“μ—¬μ Έ μžˆλŠ” μ ‘μ‹œμ—μ„œ ν•˜λ‚˜λ₯Ό κ°€μ Έκ°ˆ λ•Œ μš°λ¦¬λŠ” 보톡 μ€‘κ°„μ΄λ‚˜ λ°”λ‹₯μ—μ„œλΆ€ν„° κ°€μ Έκ°€λŠ” 것이 μ•„λ‹ˆλΌ

κ°€μž₯ μœ„μ— 올렀져 μžˆλŠ” μ ‘μ‹œλ₯Ό κ°€μ Έκ°„λ‹€.

 

μ΄λ•Œμ˜ λ‚΄κ°€ κ°€μ Έκ°€λŠ” μ ‘μ‹œλŠ” κ°€μž₯ μ΅œκ·Όμ— 올렀져 μžˆλŠ” μ ‘μ‹œμ΄λ‹€.

 

κ·ΈλŸ¬λ―€λ‘œ μŠ€νƒκ³Ό 같은 원리라고 λ³Ό 수 μžˆλ‹€.

 

μŠ€νƒ μš©μ–΄

•pop( ) : λ„£μ–΄λ‘” 자료λ₯Ό κΊΌλ‚΄λŠ” κ²ƒμœΌλ‘œ μ΄λ•Œ κΊΌλ‚΄μ§€λŠ” μžλ£ŒλŠ” κ°€μž₯ μ΅œκ·Όμ— 넣은 μžλ£ŒλΆ€ν„° λ‚˜μ˜€κ²Œ λœλ‹€.

 

•push(element) : 자료λ₯Ό λ„£λŠ” κ²ƒμœΌλ‘œ κ°€μž₯ μ΅œκ·Όμ— 넣은 자료일수둝 μœ„μ— μœ„μΉ˜ν•œλ‹€.

 

•size( ) : μŠ€νƒμ˜ ν˜„μž¬ μš”μ†Œ 개수λ₯Ό λ°˜ν™˜ν•œλ‹€.

 

 


큐 (queue)

큐

νλŠ” FIFO(First In First Out)은 κ°€μž₯ λ¨Όμ € λ“€μ–΄μ˜¨κ²ƒμ΄ λ¨Όμ € κ°€κ°€λŠ” 것을 μ˜λ―Έν•œλ‹€.

 

일상 μ†μ—μ„œ 예λ₯Ό μ°Ύμ•„λ³΄μžλ©΄ 물건을 κ΅¬λ§€ν•˜κ±°λ‚˜ λŒ€μ—¬ν•˜κΈ° μœ„ν•΄ μΉ΄μš΄ν„°μ— 쀄을 μ„œλŠ” ν–‰μœ„λ₯Ό 예둜 λ“€ 수 μžˆμ„ 것 κ°™λ‹€.

 

물건을 κ΅¬λ§€ν•˜κ±°λ‚˜ μ–»κΈ°λ₯Ό μœ„ν•΄ μš°λ¦¬λŠ” μΉ΄μš΄ν„°μ— ν•œ μ€„λ‘œ μ„œκ²Œ 되고

μ•žμ‚¬λžŒμ΄ μ™„λ£Œλ˜λ©΄ 쀑간 μ‚¬λžŒμ΄λ‚˜ λ§ˆμ§€λ§‰ μ‚¬λžŒμ΄ κ·Έλ‹€μŒ 업무λ₯Ό λ³΄λŠ” 것이 μ•„λ‹ˆλΌ

μ•žμ‚¬λžŒμ˜ λ‹€μŒ μ‚¬λžŒμΈ κ·Έλ‹€μŒ 쀄을 μ„  μ‚¬λžŒμ΄ 업무λ₯Ό 보듯이 큐도 이와 같은 원리라고 λ³Ό 수 μžˆλ‹€.

 

큐 μš©μ–΄

•enqueue(element) : μš”μ†Œλ₯Ό 큐의 뒀에 μΆ”κ°€ν•œλ‹€.

 

•dequeue( ) : μš”μ†Œλ₯Ό 큐의 μ•žμ—μ„œ μ œκ±°ν•˜κ³  λ°˜ν™˜ν•œλ‹€.

 

•size( ) : 큐의 ν˜„μž¬ μš”μ†Œ 개수λ₯Ό λ°˜ν™˜ν•œλ‹€.

λ°˜μ‘ν˜•

λŒ“κΈ€