본문 바로가기
알고리즘/개념

[stack] 스택의 기본 개념과 사용법을 알아보자.

by dokii 2022. 1. 12.
728x90
반응형

stack 이란

  • 자료 구조 중 하나인 Stack의 사전적 정의는 '쌓다', '더미' .
  • 물건을 쌓아 올리듯 데이터를 쌓는 자료구조라고 할수 있다.
  • 특징은 나중에 들어간것이 먼저나오는 (= 선입후출 구조) 형태를  띈다는것. (=Last In First Out)
  • java.util.Stack을 import하면 바로 사용할 수 있다.

그럼 언제 stack을 쓰나요?

  • 그래프의 깊이 우선탐색(DFS)할때
  • 재귀적 함수호출시 사용
  • 인터럽트처리, 수식의 계산, 서브루틴의 복귀 번지 저장할때

사용법

import java.util.stack; //임포트하면 스택을 사용할수있다.

Stack<Integer> stack = new Stack<>(); //int형 스택 선언

stack.push(1);     // stack에 값 1 추가

stack.pop();       // stack에서 맨위의 값을 제거함
stack.clear();     // stack에서 값 전체를 제거함(초기화)

stack.peek();     // 가장 상단값을 출력함
stack.size();     // 크기를 출력함

stack.empty()     // stack이 비어있다면 -> ture
stack.contains(1);     // stack에 '1'이 있다면 -> ture
728x90
반응형

댓글