λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
✨ Algorithm/πŸ•‍🦺 바킹독 κ°œλ…

[0x05] μŠ€νƒ

by nitronium102 2023. 6. 20.

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

μ •μ˜

ν•œμͺ½ λμ—μ„œλ§Œ μ›μ†Œλ₯Ό λ„£κ±°λ‚˜ λΊΌ 수 μžˆλŠ” 자료 ꡬ쑰 (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>

'✨ Algorithm > πŸ•β€πŸ¦Ί 바킹독 κ°œλ…' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[0x07] 덱  (0) 2023.06.26
[0x06] 큐  (0) 2023.06.20
[0x04] μ—°κ²°λ¦¬μŠ€νŠΈ  (0) 2023.06.20
[0x03] λ°°μ—΄  (0) 2023.06.20
[0x02] 기초 μ½”λ“œ μž‘μ„± μš”λ Ή 2  (0) 2023.06.20

λŒ“κΈ€