FILO(First In Last Out)의 구조를 가짐.

특정 위치에서만 원소를 넣거나 뺄 수 있는 제한이 걸려있음.

스택, 큐 덱을 묶어서 Restricted Structure라고 부름.

스택의 성질

  1. 원소의 추가 O(1)
  2. 원소의 제거 O(1)
  3. 제일 상단의 원소 확인 O(1)
  4. 제일 상단이 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능

스택의 구현

const int MX = 1000005;
int dat[MX];
int pos = 0; // 스택의 길이, 스택 내의 원소의 갯수

void StackBasic::push(int x) {
    dat[pos++] = x;
}

void StackBasic::pop() {
    pos--;
}

int StackBasic::top() {
    return dat[pos-1];
}

stack의 STL