반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


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
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기