ν
- μ²μμ μ μ₯ν λ°μ΄ν°λ₯Ό κ°μ₯ λ¨Όμ κΊΌλ΄λ μ μ μ μΆ (FIFO : First In First Out) κ΅¬μ‘°λ‘ λμ΄ μλ€.
- μ μΆλ ₯μ΄ μλ°©ν₯μμ μ΄λ£¨μ΄μ§λ λ°μ΄ν° ꡬ쑰μ΄λ€.
- μ½μ μ°μ°μ Enqueue μμ μ°μ°μ Dequeue λΌκ³ νλ€.
λ¨μ
- λ°μ΄ν° μ½μ ν κ³μ νλͺ© μμ λ₯Ό νλ©΄ REAR μ FRONT κ° λ§λκ² λμ΄ κ³΅λ°± Queue κ° λ¨μλ λΆκ΅¬νκ³ μ€λ² νλ‘μ° νμμ΄ μ겨 λ©λͺ¨λ¦¬λλΉ νμμ΄ μκΈ°κ² λλ€.
μ©λ
- OS μ μμ μ€μΌμ₯΄λ§
- λκΈ°νλ ¬ μ²λ¦¬
μ μμ¬ν
Queue μμ λ°μ΄ν°λ₯Ό μΆμΆν λλ 첫λ²μ§Έ μ μ₯λ λ°μ΄ν°λ₯Ό μμ νλ―λ‘ λ°°μ΄λ¦¬μ€νΈμ κ°μ λ°°μ΄ κΈ°λ° Collection Class
λ₯Ό μ¬μ©νλ©΄ λ°μ΄ν°λ₯Ό κΊΌλΌλλ§λ€ λΉκ³΅κ°μ μ±μ°κΈ° μν΄ λ°μ΄ν°μ 볡μ¬κ° λ°μνλ€.
μ΄λ μ±λ₯μ νλ₯Ό μΌκΈ° μν€κΈ° λλ¬Έμ μ°κ²° 리μ€νΈ (Linked List) λ‘ κ΅¬ν νλκ²μ΄ μ ν©νλ€.
Priority Queue (μ°μ μμ ν)
μ°μ μμκ° λμ λ°μ΄ν°κ° λ¨Όμ μμ λλ€.
ꡬν λ°©λ²
- λ°°μ΄μ κΈ°λ°μΌλ‘ ꡬν
- μ°κ²°λ¦¬μ€νΈλ₯Ό κΈ°λ°μΌλ‘ ꡬν
- ν (Heap) μ΄μ©νμ¬ κ΅¬ν
λ°μ΄ν°κ° μ μλλ λ¬Έμ κ° μμ§λ§ _λ°μ΄ν°κ° λ§μ κ²½μ°μλ λ Έλ μμ λΉλ‘ν΄μ λΉκ΅λ₯Ό νκΈ° λλ¬Έμ μ±λ₯μ νμ μ΄μ_κ° μλ€.
λ°λΌμ μ£Όλ‘ ν (Heap) μ μ΄μ©νμ¬ κ΅¬ν νλ κ²μ΄ μΌλ°μ μ΄λ€.
λ°ν / λν / λ± (Deque : Double-End Queue)
Queue
μStack
μ ν©μ³λμ ννμ΄λ€.- λκ°μ ν¬μΈν°λ₯Ό μ¬μ©νμ¬ μμͺ½μμ μ½μ κ³Ό μμ λ₯Ό λ°μμν¬μ μλ€.
νΉμ§
- ν¬κΈ°κ° κ°λ³μ μ΄λ€.
- 리μ€νΈμ κ°μ΄ λ°μ΄ν°λ₯Ό λ΄μ μ μλ ν¬κΈ°κ° κ°λ³μ μ΄λ€.
- μκ³Ό λ€μμ μ½μ κ³Ό μμ κ° κ°λ₯νλ€.
- ꡬνμ΄ μ½μ§ μλ€.
- λλ€ μ κ·Όμ΄ κ°λ₯νλ€.
- μ€κ°μ λ°μ΄ν°μ μ½μ
λ° μμ κ° μ©μ΄νμ§ μλ€.
- λλλ‘μ΄λ©΄ μ€κ°μ λ°μ΄ν°λ₯Ό μ½μ νκ±°λ μμ νλ κ²μ νΌν΄μΌ νλ©°, μ½μ κ³Ό μμ λ₯Ό μ€κ°μ νλ€λ©΄ μ½μ κ³Ό μμ ν μμΉμ λ°μ΄ν°λ₯Ό λͺ¨λ μ΄λν΄μΌ νλ€.
μ€κ°μ λ°μ΄ν° μ½μ μ
μ€κ°μ λ°μ΄ν° μμ μ
Deque λ₯Ό μ¬μ©νλ κ²½μ°
λ€μκ³Ό κ°μ κ²½μ° Deque λ₯Ό μ¬μ©νλ©΄ ν¨κ³Όμ μ΄λ€.
- μκ³Ό λ€μμ μ½μ
νΉμ μμ λ₯Ό νλ€.
- STL Container λΌμ΄λΈλ¬λ¦¬ μ€μμ Deque μ¬μ©ν λ μ±λ₯μ΄ κ°μ₯ μ’λ€.
- μ μ₯ν λ°μ΄ν°μ κ°μκ° κ°λ³μ μ΄λ€.
- Deque λ λμ μΌλ‘ ν¬κΈ°κ° λ³νλ―λ‘ μ μ°νκ² μ¬μ© κ°λ₯νλ€.
- κ²μμ κ±°μ νμ§ μλλ€.
- λ§μ λ°μ΄ν°λ₯Ό μ μ₯νλ©° κ²μμ΄ νμν κ²½μ°λΌλ©΄
Map
,Set
,HashMap
μ€ νλλ₯Ό μ νν΄μ μ¬μ©νλνΈμ΄ ν¨κ³Όμ μ΄λ€.
- λ§μ λ°μ΄ν°λ₯Ό μ μ₯νλ©° κ²μμ΄ νμν κ²½μ°λΌλ©΄
- λ°μ΄ν° μ κ·Όμ λλ€νκ² νκ³ μΆλ€.
Vector
μ κ°μ΄ λλ€ μ κ·Όμ΄ κ°λ₯νλ€. (μ¬μ©λ°©λ²λ κ°μ)
β νΈλ¦¬ Dictionary β