π STACK μ΄λ?
- λ°μ΄ν°λ₯Ό μμ μ¬λ¦° ννμ μλ£κ΅¬μ‘°μ΄λ€.
- λ°μ΄ν°λ₯Ό νλμ©λ§ λ£κ³ λΊ μ μλ€.
- λ¨λ°©ν₯ μ
μΆλ ₯ ꡬ쑰 : λ°μ΄ν°μ λ€μ΄μ€λ λ°©ν₯κ³Ό λκ°λ λ°©ν₯μ΄ κ°λ€.
-> LIFO νμ
μ μΆμ΄λ€.
1. νμ
μ μΆ
: Last In, First Out (LIFO)λ‘ λμ€μ μ½μ
λ κ²μ΄ λ¨Όμ μμ λλ€. (STACK μ€ν)
<->
μ μ
μ μΆ : First In, First Out (FIFO)λ λ¨Όμ μ½μ
λ κ²μ΄ λ¨Όμ μμ λλ€. (QUEUE ν)
2. stack overflow & Underflow
- Overflow : μ€νμ ν¬κΈ°λ§νΌ λ°μ΄ν°κ° κ°λ μμ΄ λ°μ΄ν°λ₯Ό λ£μ§ λͺ»ν λ λ°μνλ€
- Underflow : μ€νμ΄ λΉμ΄ μλ μν©μμ λ°μ΄ν°λ₯Ό λΉΌλ €κ³ ν λ λ°μνλ€.
3. μ€ν λ©μλ
- push(data) : μ€νμ λ°μ΄ν°λ₯Ό μ½μ
νλ€.
- pop() : μ€νμ κ°μ₯ μλΆλΆμ μλ λ°μ΄ν°λ₯Ό μ κ±°νλ€.
- size() : μ€νμ ν¬κΈ°λ₯Ό λ°ννλ€.
- peek() : μ€ν κ°μ₯ μ λΆλΆμ μλ λ°μ΄ν°λ₯Ό λ°ννλ€.
- isEmpty(): μ€νμ΄ λΉμ΄ μμ λμλ trueλ₯Ό λ°ννκ³ , λΉμ΄μμ§ μμ λμλ falseλ₯Ό λ°ννλ€.
- search(data) : dataκ° topμμλΆν° λͺ λ²μ§Έμ μ‘΄μ¬νλμ§λ₯Ό λ°ννλ€. μ‘΄μ¬νμ§ μμΌλ©΄ -1μ λ°ννλ€.
4. μ€ν ꡬν (+μ μΈ) JAVA
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
stack.push(3);
stack.pop();
}
}