최대 1 분 소요

스택이란?

스택이란 가장 밑부분부터 차례대로 쌓아 올라가는 구조이다.

Stack

스택은 한 쪽 끝에서만 데이터를 넣거나 뺄 수 있는 선형 구조(Last In First Out)이다.

스택의 자료형

  • push() : 정수 X를 스택에 넣는 연산
  • pop() : 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력
  • top() : 스택의 가장 위에 있는 정수를 출력
  • empty() : 스택이 비어있으면 1, 아니면 0을 출력
  • size() : 스택에 들어있는 정수의 개수를 출력

구현코드

class Stack {
	int last = 0;
	int arr[10000];
    
public:
	void push(int data) {
		arr[last++] = data;
	}
	int top() {
		if (last == 0) return -1;
		return arr[last-1];
	}
	int empty() {
		if (last == 0) return 1;
		else return 0;
	}
	int size() {
		return last;
	}
	int pop() {
		if (last == 0) return -1;
		int j = arr[last - 1];
		arr[last - 1] = NULL;
		last = last - 1;
		return j;
	}
};