μκ³ λ¦¬μ¦/μλ£κ΅¬μ‘° μ΄λ¦: Stack(μ€ν)
λΆλ₯: νμ μ μΆ(LIFO, Last in First Out) μλ£κ΅¬μ‘°
μ€ν(Stack)μ
νμ μ μΆ(LIFO), μμΉμ λ°λ₯΄λ μλ£κ΅¬μ‘°μ λλ€. μ¦, κ°μ₯ λμ€μ λ€μ΄μ¨ λ°μ΄ν°κ° κ°μ₯ λ¨Όμ λκ°λ ꡬ쑰μ λλ€.
LIFO ꡬ쑰
νμͺ½ λμμλ§ μ κ·Όκ°λ₯
μμκ° μ€μν¨
μ€νμ λμ μ리μ λν΄ μμλ΄ μλ€. μ€νμ μμλ₯Ό μλ κ²μ²λΌ λ°μ΄ν°λ₯Ό μμμλΆν° μ°¨λ‘λ‘ μμ μ¬λ¦¬κ³ (push), λμ€μ μμ λ°μ΄ν°λ₯Ό 맨 μμμλΆν° μ°¨λ‘λ‘ κΊΌλ΄λ(pop) λ°©μμΌλ‘ λμν©λλ€.
μ€νμ κΈ°λ³Έ μ°μ°
Stack μμ±
import java.util.Stack;
Stack<Integer> stack = new Stack<>();
Push
μ€ν: [A, B]
-> stack.push(C)
-> [A, B, C]
Pop
μ€ν: [A, B, C]
-> stack.pop() //κ°μ₯ μμ λ°μ΄ν°λ§ μμ ν μ μμ΅λλ€.
-> [A, B]
Peek
μ€ν: [A, B, C]
-> stack.peek()
-> C