728x90
λ°μν
Stack
μ₯μ
- κ°λ¨ν μ¬μ©: μμλ₯Ό μΆκ°νκ³ μ κ±°νλ λ©μλκ° μ§κ΄μ μ λλ€.
- LIFO ꡬ쑰: νμ μ μΆ λ°©μμΌλ‘ μμ μ μ²λ¦¬ν λ μ μ©ν©λλ€. μλ₯Ό λ€μ΄, μ¬κ·μ μκ³ λ¦¬μ¦μ΄λ μμ μΆλ ₯ λ±μ μ¬μ©λ©λλ€.
λ¨μ
- λκΈ°ν λ¬Έμ : Stack ν΄λμ€λ λκΈ°νλμ΄ μμ΄ λ©ν°μ€λ λ νκ²½μμ μμ νμ§λ§, λκΈ°ν λλ¬Έμ μ±λ₯μ΄ μ νλ μ μμ΅λλ€.
- Legacy ν΄λμ€: Stack ν΄λμ€λ Javaμ μ΄κΈ° λ²μ μμ λμ λ ν΄λμ€μ λλ€. μ΄νμ λ λμ λμμ΄ μ 곡λμμ΅λλ€. μλ₯Ό λ€μ΄, Deque μΈν°νμ΄μ€λ₯Ό ꡬνν ArrayDeque ν΄λμ€λ λΉμ·ν κΈ°λ₯μ μ 곡νμ§λ§ λ μ±λ₯μ΄ μ’μ΅λλ€.
μ£Όμ λ©μλ
- push(E item): μ€νμ 맨 μμ μμλ₯Ό μΆκ°ν©λλ€.
- pop(): μ€νμ 맨 μμ μλ μμλ₯Ό μ κ±°νκ³ λ°νν©λλ€.
- peek(): μ€νμ 맨 μμ μλ μμλ₯Ό μ κ±°νμ§ μκ³ λ°νν©λλ€.
- isEmpty(): μ€νμ΄ λΉμ΄ μλμ§λ₯Ό νμΈν©λλ€.
- search(Object o): μ€νμμ ν΄λΉ μμκ° μμΉν 1-based μΈλ±μ€λ₯Ό λ°νν©λλ€. μμκ° μ€νμ μλ κ²½μ° -1μ λ°νν©λλ€
import java.util.Stack;
public class Main {
public static void main(String[] args) {
// Stack μμ±
Stack<Integer> stack = new Stack<>();
// μμ μΆκ°
stack.push(1);
stack.push(2);
stack.push(3);
// μ€ν μΆλ ₯
System.out.println("Stack: " + stack);
// 맨 μ μμ μ κ±° λ° λ°ν
int top = stack.pop();
System.out.println("Popped element: " + top);
// νμ¬ λ§¨ μ μμ μ‘°ν (μ κ±°νμ§ μμ)
top = stack.peek();
System.out.println("Top element: " + top);
// μ€νμ΄ λΉμ΄ μλμ§ νμΈ
boolean isEmpty = stack.isEmpty();
System.out.println("Is stack empty? " + isEmpty);
// μμ κ²μ
int position = stack.search(2);
System.out.println("Position of element 2 (1-based): " + position);
}
}
λ°μν
'μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ΄μ§νμ(Binary Search) κ°λ μ 리 (1) | 2024.06.11 |
---|---|
Queue κ°λ μ 리 (0) | 2024.06.11 |
λ°±μ€ 10988 μλ° ν°λ¦°λ둬μΈμ§ νμΈνκΈ° (0) | 2023.12.15 |
λ°±μ€ 2609 java μ΅λ곡μ½μμ μ΅μ곡배μ (0) | 2023.12.11 |
λ°±μ€ 2743 java λ¨μ΄ κΈΈμ΄ μ¬κΈ° (0) | 2023.12.05 |