Data Structure

[Data Structure] multimap ์‚ฌ์šฉ๋ฒ•

An effort will never betray ๐Ÿ˜Ž 2020. 11. 8. 21:32
๋ฐ˜์‘ํ˜•
  • ์ด ๊ธ€์€ c++์˜ stl ์ค‘ ํ•˜๋‚˜์ธ multimap ์‚ฌ์šฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

multimap

  • multimap์€ map๊ณผ ๊ฐ™์ด key์™€ value๋กœ ๊ตฌ์„ฑ๋œ container์ž…๋‹ˆ๋‹ค.

  • map๊ณผ๋Š” ๋‹ฌ๋ฆฌ key์˜ ์ค‘๋ณต์ด ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • multimap์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • multimap์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” #include< map >์„ ์„ ์–ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • multimap์€ binary search tree์œผ๋กœ ์ดํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ํƒ์ƒ‰์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(log n)์ž…๋‹ˆ๋‹ค.


ํ•จ์ˆ˜

empty()

  • multimap์ด ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜
  • if multimap is empty, return 1 else 0

size()

  • mutlimap์˜ ํฌ๊ธฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
  • return size_type (unsigned int)

insert(pair)

  • multimap์— pair๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ํ•จ์ˆ˜

erase(key)

  • multimap์—์„œ key๋ฅผ ๊ฐ€์ง„ ๊ฐ’๋“ค์„ ๋ชจ๋‘ ์‚ญ์ œํ•˜๋Š” ํ•จ์ˆ˜

clear()

  • multimap์„ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ํ•จ์ˆ˜

find(key)

  • multimap์—์„œ key์— ํ•ด๋‹นํ•˜๋Š” ์›์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ์ฐพ๋Š” ํ•จ์ˆ˜
  • if key is contained, return iterator else multimap::end
  • ๋™์ผํ•œ key๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ๊ฐ€์žฅ ๋จผ์ € ์žˆ๋Š” key์˜ iterator๋ฅผ ๋ฐ˜ํ™˜

count(key)

  • multimap์—์„œ key๋ฅผ ๊ฐ€์ง€๋Š” ์›์†Œ์˜ ๊ฐฏ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜

ํƒ์ƒ‰ ๋ฐฉ๋ฒ•

  • index๊ฐ€ ์•„๋‹Œ iterator๋กœ ์ˆœ์ฐจ์  ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์‹œ์ž‘ : begin(), ๋ : end()
  • ๋ฐ˜๋ณต๋ฌธ์—์„œ auto ํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์‹ค์Šต

๊ฒฐ๊ณผ

  • ์ถ”๊ฐ€๋กœ ๊ถ๊ธˆํ•œ ์ ์ด๋‚˜ ์ˆ˜์ •ํ•  ๋ถ€๋ถ„ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.
๋ฐ˜์‘ํ˜•