[STL] vector

hanturtleยท2020๋…„ 8์›” 7์ผ
0

STL_cpp

๋ชฉ๋ก ๋ณด๊ธฐ
3/4

๐Ÿข ๊ธฐ๋ณธ ํ˜•ํƒœ

#include <vector>
template < class T, class Alloc = allocator<T> >
T - ์ €์žฅ๋œ ์š”์†Œ์˜ ์œ ํ˜• (์›ํ•˜๋Š” ์ž๋ฃŒํ˜• ๋ฐ ํด๋ž˜์Šค ์ƒ์„ฑ)
Allocator - ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํš๋“/ํ•ด์ œํ•˜๊ณ  ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ์˜ ์š”์†Œ๋ฅผ ๊ตฌ์„ฑ/ํŒŒ๊ดดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ• ๋‹น ์ž



๐Ÿข Iterators

  • begin() : ์ฒซ๋ฒˆ์งธ ์›์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ด
  • end() : ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ด


๐Ÿข Element access

  • operator[idx] : idx ์š”์†Œ์— ์ ‘๊ทผ

  • at(idx) : idx ์š”์†Œ์— ์ ‘๊ทผ
    (operator๋ณด๋‹ค at์„ ์‚ฌ์šฉํ•˜๋ฉด ๋Š๋ฆผ, ๊ทธ๋Ÿฌ๋‚˜ ๋ฒ”์œ„๋ฅผ ์ ๊ฒ€ํ•˜๋ฏ€๋กœ ์•ˆ์ „)

  • front() : ์ฒซ๋ฒˆ์งธ ์š”์†Œ ์ฐธ์กฐ

  • back() : ๋งˆ์ง€๋ง‰ ์š”์†Œ ์ฐธ์กฐ



๐Ÿข Capacity

  • size() : ์›์†Œ์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
  • resize(n) : ํฌ๊ธฐ๋ฅผ n์œผ๋กœ ๋ณ€๊ฒฝ
    _ (default = 0, v.resize(n,element) = ํฌ๊ธฐ๋ฅผ n์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ๋” ์ปค์กŒ์„ ๊ฒฝ์šฐ ์ธ์ž๊ฐ’์„ element๋กœ ์ดˆ๊ธฐํ™”)_
  • capacity: ํ• ๋‹น๋œ ๊ณต๊ฐ„ ํฌ๊ธฐ ๋ฐ˜ํ™˜
  • empty() : ๋น„์–ด์žˆ์œผ๋ฉด true ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜



๐Ÿข Modifiers

  • assign(n, element) : n๊ฐœ์˜ ์›์†Œ๋ฅผ element์˜ ๊ฐ’์œผ๋กœ ํ• ๋‹น
  • push_back(element) : ๋งˆ์ง€๋ง‰ ์›์†Œ ๋’ค์— element๋ฅผ ์ถ”๊ฐ€
  • pop_back() : ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ ์‚ญ์ œ
  • insert(idx, element) : idx์œ„์น˜์— element ์‚ฝ์ž…
    (์‚ฝ์ž…ํ•œ ๊ณณ์˜ iterator ๋ฐ˜ํ™˜, insert(idx, element, n) = idx์œ„์น˜์— element๋ฅผ n๊ฐœ ์‚ฝ์ž…)
  • erase(idx) : idx๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์›์†Œ ์ œ๊ฑฐ
    (size๋Š” ์ค„์ง€๋งŒ capacity๋Š” ๊ทธ๋Œ€๋กœ, erase(start,end) = start์˜ ์š”์†Œ๋Š” ํฌํ•จํ•˜๊ณ  end์š”์†Œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์€ ๋ฒ”์œ„๋ฅผ ์ง€์šด๋‹ค)
  • clear() : ๋ชจ๋“  ์›์†Œ ์ œ๊ฑฐ. ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋‚จ์•„์žˆ์Œ
    (size๋งŒ ์ค„๊ณ  capacity๋Š” ๊ทธ๋Œ€๋กœ)



๐Ÿข ๊ธฐํƒ€

๋ฒกํ„ฐ์˜ ์ค‘๋ณต ์ œ๊ฑฐ
#include <algorithm>
  
sort(v.begin(),v.end());
v.erase(unique(v.begin(),v.end()),v.end());
profile
์•ผ๋ฌด์ง€๊ฒŒ ํ–‰๋ณตํ•˜์„ธ์š”๐Ÿ˜˜

0๊ฐœ์˜ ๋Œ“๊ธ€