반응형
츄르사려고 코딩하는 코집사입니다.
1. 스택(Stack)
- 스택은 컴퓨터의 기본 자료구조 중 하나로, 줄을 지어 마지막에 들어온 데이터를 먼저 처리하는 구조를 가지고 있다. 즉, LIFO(Last-in First-Out) 특징을 가지고 있다.
2. 스택(Stack)의 사용 사례
- 음료수 진열대(먼저 들어간게 나중에 나옴)
- 인터넷 브라우저 창(뒤로가기, 앞으로가기 등)
3. 스택(Stack)의 연산
* add는 boolean형 리턴(true or false)
1) add(A) : 스택(Stack)에 A를 넣는다.
* push는 Exception 리턴
2) push(A) : 스택(Stack)에 A를 넣는다.
3) pop() : 스택(Stack)에서 맨 위에 있는 데이터를 꺼내온다.
4) peek() : 스택(Stack)에서 top에 있는 데이터를 반환한다.
5) search(A) : 스택(Stack)에서 A가 있는 인덱스 위치를 반환한다.
4. 스택(Stack)에서의 오버플로우(Overflow)와 언더플로우(Underflow)
1) 오버플로우(Overflow)
- 스택(Stack)의 크기만큼 데이터가 꽉 차서 데이터를 넣지 못할 때
2) 언더플로우(Underflow)
- 스택(Stack)이 비어있는데, 데이터를 꺼내려고 하는 경우
5. 스택(Stack)의 구현
1) 스택(Stack) 선언
- 스택(Stack)을 사용하려면 아래와 같이 import를 해야 합니다.
- import java.util.Stack;
import java.util.Stack;
public class Solution {
public static void main(String[] args) {
//int형 Stack 선언
Stack<Integer> stack = new Stack<>();
}
}
2) 스택(Stack)의 추가
//int형 Stack 선언
Stack<Integer> stack = new Stack<>();
stack.add(1); //스택에 1 추가
stack.push(2); //스택에 2 추가
System.out.println(stack); // [1,2] 출력
3) 스택(Stack)의 삭제
//int형 Stack 선언
Stack<Integer> stack = new Stack<>();
stack.add(1); //스택에 1 추가
stack.push(2); //스택에 2 추가
stack.pop(); // 제일 나중에 들어온 2 빼기
System.out.println(stack); // [1] 출력
4) 스택(Stack)의 top 값 리턴
//int형 Stack 선언
Stack<Integer> stack = new Stack<>();
stack.add(1); //스택에 1 추가
System.out.println(stack.peek()); // 1출력
5) 스택(Stack)의 데이터 찾기
//int형 Stack 선언
Stack<Integer> stack = new Stack<>();
stack.add(1); //스택에 1 추가
stack.push(2); //스택에 2 추가
System.out.println(stack.search(2)); //1출력 스택 0번째 인덱스에는 1, 1번째 인덱스에는 2
반응형
'Language > Java' 카테고리의 다른 글
자바(Java) 링크드리스트(LinkedList) 클래스 및 예제 (0) | 2021.02.08 |
---|---|
자바(Java) 순열(Permutation)과 조합(Combination) (0) | 2021.02.07 |
자바(Java)에서의 재귀함수(Recursive Function) 예제 (0) | 2021.02.07 |
자바(Java)에서의 입출력 처리 (0) | 2021.02.07 |
자바(Java) Queue 클래스 및 예제 (0) | 2021.02.07 |
자바(Java) 이론/필기 문제 - 자바(Java) 마스터 가자! (0) | 2021.01.30 |
자바(Java)로 코딩테스트 할 때 활용할 API (0) | 2021.01.26 |
자바(Java) 상속과 다형성, 오버로드, 오버라이드 (0) | 2021.01.26 |
최근댓글