[C++] STL Deque(덱)

윀경·2021λ…„ 1μ›” 15일
0

C++

λͺ©λ‘ 보기
1/20
post-thumbnail

πŸ“Œ Dequeλž€

  • 맨 μ•ž, 맨 뒀에 μ›μ†Œλ₯Ό μΆ”κ°€ν•  수 μžˆλŠ” 자료ꡬ쑰
  • 동적 λ°°μ—΄ ν˜•νƒœ
  • μž„μ˜μ˜ μœ„μΉ˜ μ›μ†Œ μ ‘κ·Ό, μ•žλ’€ μ›μ†Œ μ‚½μž… μ‹œ O(1) 보μž₯

πŸ“Œ Deque ν•¨μˆ˜

  • dq.begin(): 첫번째 μ›μ†Œλ₯Ό κ°€λ¦¬ν‚€λŠ” iterator
  • dq.end(): λ§ˆμ§€λ§‰ μ›μ†Œ λ‹€μŒμ„ κ°€λ¦¬ν‚€λŠ” iterator
  • dq.assign(n): μ›μ†Œ n개둜 μ΄ˆκΈ°ν™”
  • dq.assign(n, m): μ›μ†Œ n개λ₯Ό m으둜 μ΄ˆκΈ°ν™”
  • dq.front(): 첫 번째 μ›μ†Œ
  • dq.back(): λ§ˆμ§€λ§‰ μ›μ†Œ
  • dq.at(i): i번째 μ›μ†Œ
  • dq.push_front(n): κ°€μž₯ μ•žμ— n μΆ”κ°€
  • dq.push_back(n): κ°€μž₯ λ§ˆμ§€λ§‰μ— n μΆ”κ°€
  • dq.pop_front(): κ°€μž₯ μ•ž μ›μ†Œ κΊΌλ‚΄κΈ°
  • dq.pop_back(): κ°€μž₯ λ§ˆμ§€λ§‰ μ›μ†Œ κΊΌλ‚΄κΈ°
  • dq.insert(v.begin(), n): iteratorκ°€ κ°€λ¦¬ν‚€λŠ” μœ„μΉ˜μ— n μ›μ†Œ μΆ”κ°€
  • dq.size(): 덱 μ‚¬μ΄μ¦ˆ λ°˜ν™˜
  • dq.resize(n): n으둜 μ‚¬μ΄μ¦ˆ λ³€κ²½
  • dq.clear(): 전체 μ›μ†Œ μ‚­μ œ
  • dq.erase(v.begin()): iteratorκ°€ κ°€λ¦¬ν‚€λŠ” μ›μ†Œ μ‚­μ œ. size 변함.

πŸ“Œ Deque μ‚¬μš©λ²•

#include <deque>

deque<int> dq;
dq.push_back(n);	// 맨 λ’€ n μ‚½μž…
dq.push_front(n);	// 맨 μ•ž n μ‚½μž…
dq.pop_back();		// 맨 λ’€ μ›μ†Œ μ‚­μ œ
dq.pop_front();		// 맨 μ•ž μ›μ†Œ μ‚­μ œ
profile
개발 바보 이사 쀑

0개의 λŒ“κΈ€