nitronium102 2023. 6. 20. 03:22

μ •μ˜μ™€ μ„±μ§ˆ

μ •μ˜

ν•œμͺ½ λμ—μ„œλ§Œ μ›μ†Œλ₯Ό λ„£κ±°λ‚˜ λΊΌ 수 μžˆλŠ” 자료 ꡬ쑰 (restricted structure)

μ„±μ§ˆ

  • μ›μ†Œμ˜ 좔가와 제거 : O(1)
  • 제일 μƒλ‹¨μ˜ μ›μ†Œ 확인 : O(1)
  • 제일 상단이 μ•„λ‹Œ λ‚˜λ¨Έμ§€ μ›μ†Œλ“€μ˜ 확인/변경이 μ›μΉ™μ μœΌλ‘œ λΆˆκ°€λŠ₯

κΈ°λŠ₯κ³Ό κ΅¬ν˜„

κ΅¬ν˜„

const int MAX = 1000005;
int data[MAX];
int pos = 0; // λ‹€μŒμ— μ›μ†Œκ°€ 좔가될 λ•Œ μ‚½μž…ν•΄μ•Ό ν•˜λŠ” κ³³ (μŠ€νƒ λ‚΄ μ›μ†Œμ˜ 수)

void push(int x) data[pos++] = x;

void pop() pos--;

int top() return data[pos-1];

STL stack

#include <stack>