diff --git a/queue/queue-Moonchaeyeon.md b/queue/queue-Moonchaeyeon.md new file mode 100644 index 0000000..588d258 --- /dev/null +++ b/queue/queue-Moonchaeyeon.md @@ -0,0 +1,51 @@ +ο»Ώ# 큐(Queue) + πŸ‘‰ **Queueλž€?** +> FIFO(fist in first out) ꡬ쑰둜 μ €μž₯ν•˜λŠ” ν˜•μ‹ +--- +### πŸ“’ [C++] STL Queue +#### πŸ”΄ **μ„ μ–Έ** +> *queue<μžλ£Œν˜•> λ³€μˆ˜λͺ…;* + + #include + queue q; + +#### πŸ”΄ **κΈ°λ³Έ ν•¨μˆ˜** + +πŸ”Ή **데이터 μΆ”κ°€** + + queue.push(elem); +πŸ”Ή **데이터 μ‚­μ œ** + + queue.pop(); +πŸ”Ή **첫 번째 데이터 λ°˜ν™˜** + + queue.front(); + +πŸ”Ή **λ§ˆμ§€λ§‰ 데이터 λ°˜ν™˜** + + queue.back(); +πŸ”Ή **길이 λ°˜ν™˜** + + queue.size(); +πŸ”Ή **λΉ„μ–΄ μžˆλŠ”μ§€ λ°˜ν™˜** + + queue.empty(); + +--- +### πŸ“’ μš°μ„ μˆœμœ„ Queue + +> **μš°μ„ μˆœμœ„**λ₯Ό κ°€μ§„ 데이터듀을 μ €μž₯ν•˜λŠ” 큐 -> O(logN) + +#### πŸ”΄ **μ„ μ–Έ** +*1) priority_queue<μžλ£Œν˜•> λ³€μˆ˜λͺ…;* πŸ‘‰ **λ‚΄λ¦Όμ°¨μˆœ** +*2) priority_queue<μžλ£Œν˜•, container, λΉ„κ΅ν•¨μˆ˜> λ³€μˆ˜λͺ…;* πŸ‘‰ **ν•¨μˆ˜μ— 따라 μ •λ ¬** + + #include + priority_queue q; + priority_queue, func> +#### πŸ”΄ **κΈ°λ³Έ ν•¨μˆ˜** +πŸ”Ή **상단 데이터 λ°˜ν™˜** + + priority_queue.top(); + + diff --git a/stack/stack_Moonchaeyeon.md b/stack/stack_Moonchaeyeon.md new file mode 100644 index 0000000..417c5c2 --- /dev/null +++ b/stack/stack_Moonchaeyeon.md @@ -0,0 +1,34 @@ +ο»Ώ# μŠ€νƒ(Stack) + πŸ‘‰ **Stackμ΄λž€?** +>**LIFO(Last In First Out)** ꡬ쑰둜 μ €μž₯ν•˜λŠ” ν˜•μ‹ +--- +### πŸ“’ [C++] STL Queue +#### πŸ”΄ **μ„ μ–Έ** +> *stack<μžλ£Œν˜•> λ³€μˆ˜λͺ…;* + + #include + stack q; + +#### πŸ”΄ **κΈ°λ³Έ ν•¨μˆ˜** + +πŸ”Ή **데이터 μΆ”κ°€** + + stack.push(elem); +πŸ”Ή **데이터 μ‚­μ œ** + + stack.pop(); +πŸ”Ή **첫 번째 데이터 λ°˜ν™˜** + + stack.top(); + +πŸ”Ή **길이 λ°˜ν™˜** + + stack.size(); +πŸ”Ή **λΉ„μ–΄ μžˆλŠ”μ§€ λ°˜ν™˜** + + stack.empty(); +πŸ”Ή **두 μŠ€νƒμ˜ 값을 μ„œλ‘œ λ°”κΎΈκΈ°** + + swap(stack1, stack2); + +