[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๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด