Stack (μ€ν)
π λͺ©μ°¨
β Stack μ΄λ β
Stack μ£Όμ λμ
μ»΄ν¨ν°μμ Stack μ€μ¬μ© μμ
Stack ꡬν
β Stack μ΄λ β
μ€νμ ν μͺ½ λμμλ§ μλ£λ₯Ό λ£κ±°λ λΊ μ μλ μ νμ μλ£κ΅¬μ‘°(LIFO - Last In First Out)μΌλ‘ λμ΄ μλ€. μλ£λ₯Ό λ£λ κ²μ 'λ°μ΄λ£λλ€' νμ¬ νΈμ¬(push)λΌκ³ νκ³ λ°λλ‘ λ£μ΄λ μλ£λ₯Ό κΊΌλ΄λ κ²μ ‘λΉκΈ΄λ€’ μ ν(pop)μ΄λΌκ³ νλλ°, μ΄ λ κΊΌλ΄μ§λ μλ£λ κ°μ₯ μ΅κ·Όμ νΈμ¬ν μλ£λΆν° λμ€κ² λλ€. μ΄μ²λΌ ‘λμ€μ λ£λ κ°μ΄ λ¨Όμ λμ€λ κ²’ μ ‘LIFO’ ꡬ쑰λΌκ³ νλ€.
πΆ Stack μ£Όμ λμ
- pop( ) : μ€νμμ κ°μ₯ μμ μλ νλͺ©μ μ κ±°νλ€.
- push(item) : item νλλ₯Ό μ€νμ κ°μ₯ μ λΆλΆμ μΆκ°νλ€.
- peek( ) : μ€νμ κ°μ₯ μμ μλ νλͺ©μ λ°ννλ€.
- empty( ) : μ€νμ΄ λΉμ΄ μμ λμ trueλ₯Ό λ°ννλ€.
πΆ μ»΄ν¨ν°μμ Stackμ μ€μ¬μ© μμ
- λνμ μΈ μμλ‘λ λΈλΌμ°μ μ λ€λ‘ κ°κΈ°, μμΌλ‘ κ°κΈ° κΈ°λ₯μ ꡬνν λ Stackμ΄ νμ©λλ€.
- λΈλΌμ°μ μμ μλ£κ΅¬μ‘° Stackμ΄ μ¬μ©λ λμλ λ€μκ³Ό κ°μ μμλ₯Ό κ±°μΉλ€.
- μλ‘μ΄ νμ΄μ§λ‘ μ μν λ, νμ¬ νμ΄μ§λ₯Ό Prev Stackμ 보κ΄νλ€.
- λ€λ‘ κ°κΈ° λ²νΌμ λλ¬ μ΄μ νμ΄μ§λ‘ λμκ° λμλ, νμ¬ νμ΄μ§λ₯Ό Next Stackμ 보κ΄νκ³ Prev Stackμ κ°μ₯ λμ€μ 보κ΄λ νμ΄μ§λ₯Ό νμ¬ νμ΄μ§λ‘ κ°μ Έμ¨λ€.
- μμΌλ‘ κ°κΈ° λ²νΌμ λλ¬ μμ λ°©λ¬Έν νμ΄μ§λ‘ μ΄λμ μν λμλ, Next Stackμ κ°μ₯ λ§μ§λ§μΌλ‘ 보κ΄λ νμ΄μ§λ₯Ό κ°μ Έμ¨λ€.
- λ§μ§λ§μΌλ‘ νμ¬ νμ΄μ§λ₯Ό Prev Stackμ 보κ΄νλ€.
πΆ Stack ꡬν
Javaμμ κΈ°λ³Έμ μΌλ‘ Stack ν΄λμ€λ₯Ό μ§μν΄μ€λλ€. λ¬Όλ‘ μ§μ λ§λ€μ€λ μμμΌ νμ§λ§ λ¨Όμ Javaμμ μ§μνλ κΈ°λ₯μ νμ©ν΄λ³΄κ³ μ ν©λλ€.
import java.util.Stack;
class Main {
public static void main(String[] args){
Stack<Integer> stack = new Stack<>();
for(int i = 1; i<=5; i++){
stack.push(i);
System.out.println(stack.peek());
}
stack.pop();
System.out.println("Pop()");
System.out.println(stack.peek());
System.out.println(stack.search(3));
System.out.println(stack.empty());
}
}
reference
κ°λ°μμ μμ κ³Ό κΈ°λ‘ - νλλͺ¬
νλλͺ¬ κ°λ°μμ μμ κ³Ό κΈ°λ‘ | μννΈμ¨μ΄ μμ§λμ΄, νλ‘ νΈμλ, λ°±μλ, νλ‘κ·Έλλ¨Έ, μΉ νλ‘κ·Έλλ° ν¬νΈν΄λ¦¬μ€, κΈ°μ λΈλ‘κ·Έ
hanamon.kr
https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%83%9D
μ€ν - μν€λ°±κ³Ό, μ°λ¦¬ λͺ¨λμ λ°±κ³Όμ¬μ
μν€λ°±κ³Ό, μ°λ¦¬ λͺ¨λμ λ°±κ³Όμ¬μ . μ€ν(stack)μ μ νμ μΌλ‘ μ κ·Όν μ μλ λμ΄ κ΅¬μ‘°μ΄λ€. κ·Έ μ κ·Ό λ°©λ²μ μΈμ λ λͺ©λ‘μ λμμλ§ μΌμ΄λλ€. λλ¨Όμ λ΄κΈ° λͺ©λ‘(Pushdown list)μ΄λΌκ³ λ νλ€. μ€νμ
ko.wikipedia.org
https://mungto.tistory.com/125
Stack μ΄λ?(κ°λ , λμ, ꡬν)
μ€νμ΄λ? μ νμ μλ£κ΅¬μ‘°μ΄λ©° λ°μ΄ν°λ₯Ό μ½μ μ λ€μ λμ λ©° λ°μ΄ν°λ₯Ό κΊΌλΌλλ λ€μμλΆν° κΊΌλ΄λ μλ£κ΅¬μ‘°μ λλ€. λμ€μ λ€μ΄μ¨ λ°μ΄ν°κ° λ¨Όμ λκ°λ€κ³ νμ¬ Last Input First Out μ΄λΌνμ¬ LIFO
mungto.tistory.com