JiwonDev

4. STL

by JiwonDev

STL์€ Standard Template Library ์œผ๋กœ์„œ CPP์—์„œ ์ œ๊ณตํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

์ƒ๊ฐ๋ณด๋‹ค ๊ธฐ๋Šฅ์ด ๋งŽ์œผ๋ฏ€๋กœ, ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ณ  ํ•„์š”ํ• ๋–„ ์ž์„ธํ•˜๊ฒŒ ์ฐพ์•„๋ณด์ž.

0. ๋ฐ˜๋ณต์ž, iterator

์ปจํ…Œ์ด๋„ˆ๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ์ ‘๊ทผํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ผ์ข…์˜ ํฌ์ธํ„ฐ.

์ฐธ๊ณ ๋กœ ๊ฐ’ ๋ณ€๊ฒฝ๋„ ๊ฐ€๋Šฅํ•œ๋ฐ, ๋ง‰๊ณ ์‹ถ์œผ๋ฉด const_iterator์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

list<int> ls = {10, 20, 30};


list<int>::iterator iter; // ์ด๋ ‡๊ฒŒ ์ง์ ‘ iter ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด๋„ ๋œ๋‹ค.
ls.begin(); ls.end(); // ๋˜๋Š” ์ด๋ ‡๊ฒŒ ํ•ด๋‹น ๊ฐ์ฒด์—์„œ iter ํฌ์ธํ„ฐ๋ฅผ ์–ป์–ด์™€๋„ ๋จ.
/*
	์ฐธ๊ณ ๋กœ begin์€ 0๋ฒˆ ์ธ๋ฑ์Šค, end()๋Š” ๋งˆ์ง€๋ง‰ null ๊ฐ’์„ ๊ฐ€๋ฅดํ‚ค๊ณ  ์žˆ๋‹ค๊ณ  ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.
	begin ์ด์ƒ end ๋ฏธ๋งŒ. ๋งˆ์ง€๋ง‰๊ฐ’์€ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.
*/

list<int>::const_iterator citer; // ๊ฐ’ ๋ณ€๊ฒฝ์„ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด const_iterator ์‚ฌ์šฉ

 

iter = ls.begin();
citer = ls.end();

*iter = 100; // ์ด๋ ‡๊ฒŒ ํฌ์ธํ„ฐ๋กœ ๊ฐ’ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
// *citer = 300; cosnt๋Š” ๊ฐ’ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅ.

 

 

 

1. Container

์ปจํ…Œ์ด๋„ˆ๋Š” ๊ฐ™์€ ํƒ€์ž…์˜ ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณณ, ์‰ฝ๊ฒŒ ๋งํ•ด ์ž๋ฃŒํ˜•์„ ์“ฐ๊ธฐ ํŽธํ•˜๊ฒŒ ํ™•์žฅํ•ด์ค€๊ฑฐ๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

STL์—์„œ ์ปจํ…Œ์ด๋„ˆ๋Š” ํฌ๊ฒŒ 3์ข…๋ฅ˜๋กœ ๋‚˜๋‰˜๋Š”๋ฐ, ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ข…๋ฅ˜ ์„ค๋ช… ์˜ˆ์‹œ
์‹œํ€ธ์Šค(iterable) ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅ vector, deque, list, forward_list
์—ฐ๊ด€(set, map) ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์ • ๊ทœ์น™์— ๋”ฐ๋ผ ์ €์žฅ set, map, multiset, multimap
์ปจํ…Œ์ด๋„ˆ ์–ด๋Œ‘ํ„ฐ ๊ธฐ๋Šฅ์„ ์ œํ•œํ•˜์—ฌ ์›ํ•˜๋Š” ๊ตฌ์กฐ๋กœ ์‚ฌ์šฉ stack, queue, priority_queue

 

2. ์‹œํ€ธ์Šค ์ปจํ…Œ์ด๋„ˆ(sequence)

2-1 vector

๋ง‰์จ๋„ ๋˜๋Š” ๋งŒ๋Šฅ ์ž๋ฃŒํ˜•. ํฌ๊ธฐ๊ฐ€ ์ž๋™์œผ๋กœ ๋Š˜์–ด๋‚˜๋Š” ๋™์  ๋ฐฐ์—ด. stack๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์ž…๋ ฅ ๊ฐ’์„ ๋’ค์— ์ถ”๊ฐ€ํ•˜๊ธฐ ์ข‹๋‹ค.

์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•ด์„œ ์ธ๋ฑ์Šค์ ‘๊ทผ์ด ๋น ๋ฅด์ง€๋งŒ ์ค‘๊ฐ„์‚ฝ์ž…/ ์ด๋ฏธ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ™•์žฅํ• ๋ ค๋ฉด ์ €์žฅ๋œ ๊ฐ’ ์ „์ฒด๋ฅผ ๋‹ค๋ฅธ ๊ณต๊ฐ„์œผ๋กœ ์˜ฎ๊ฒจ์•ผํ•ด์•ผ ํ•ด์„œ ์‹œ๊ฐ„์ด ๋งŽ์ด๊ฑธ๋ฆฐ๋‹ค.

vector<์ž๋ฃŒํ˜•> ๊ฐ์ฒด์ด๋ฆ„();
vector<int> v // ๋นˆ ์ปจํ…Œ์ด๋„ˆ
vector<int> v = { 10, 20, 30, 40 } // cpp ๋ฉค๋ฒ„ ์ดˆ๊ธฐํ™” ํ˜•์‹์œผ๋กœ ์ƒ์„ฑ๋„ ๊ฐ€๋Šฅ.
//์ฐธ๊ณ ๋กœ v.assign(์ธ์ˆ˜) ์œผ๋กœ ํ•˜๋ฉด ์ƒ์„ฑ์ž์™€ ๋˜‘๊ฐ™์€ ๊ธฐ๋Šฅ์ž„.

vector<int> v(n) // ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋œ n๊ฐœ
vector<int> v(n,x) // ๊ฐ’ x๋กœ ์ดˆ๊ธฐํ™”
vector<int> v(๋‹ค๋ฅธ ๋ฒกํ„ฐ) // ๋ฒกํ„ฐ ๋ณต์‚ฌ(๊ฐ’ ๋ณต์‚ฌ)
vector<int> v(v.begin() v.end()) // ์ด๋Ÿฐ ์‹์œผ๋กœ ์ดˆ๊ธฐํ™”/์ƒ์„ฑ๋„ ๊ฐ€๋Šฅ
v.swap(v2) // ๋ฒกํ„ฐ์˜ ๊ฐ’ ์„œ๋กœ ๋ฐ”๊พธ๊ธฐ

v.size() // ํ• ๋‹น๋œ ์›์†Œ์˜ ๊ฐฏ์ˆ˜
v.capacity() // ํ˜„์žฌ ์˜ˆ์•ฝ๋œ(์‚ฌ์šฉ์ค‘์ธ) ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐฏ์ˆ˜
v.resize(n, x) // ํ•ด๋‹น ๋ฒกํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ n์œผ๋กœ ๋ณ€๊ฒฝํ•จ. x๋Š” ์ดˆ๊ธฐํ™”๊ฐ’. ์ƒ๋žต๊ฐ€๋Šฅ

v.at(i); // v[i]์™€ ๊ฐ™์Œ. i๋ฒˆ์งธ ์›์†Œ ๊ฐ’. ์ฐธ๊ณ ๋กœ .at()์„ ์‚ฌ์šฉํ•ด์•ผ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€ ์ž‘๋™ํ•œ๋‹ค. 
v.back() // ๋งˆ์ง€๋ง‰ ์›์†Œ ๊ฐ’
v.front() // ์ฒซ๋ฒˆ์จฐ ์›์†Œ ๊ฐ’

p = v.begin() // ์ฒซ๋ฒˆ์งธ ์›์†Œ๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” iter
p = v.end() // ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” iter. ์ฐธ๊ณ ๋กœ [b,e)์ž„.
p = v.rbegin() // begin๊ณผ ๊ฐ™์ง€๋งŒ ๊ฑฐ๊พธ๋กœ ๋ฐ˜๋ณตํ•จ. ๋ฆฌ๋ฒ„์Šค
p = v.rend() // ๋งˆ์ฐฌ๊ฐ€์ง€

q = v.erase(p) // p๊ฐ€ ๊ฐ€๋ฅดํ‚ค๋Š” ์›์†Œ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์Œ ๊ฐ’ ํฌ์ธํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•จ. 
q = v.erase(begin, end) // ํฌ์ธํ„ฐ๋กœ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•. ์ด ์—ญ์‹œ [b,e)์ž„.
q = v.insert(p,x) // ํฌ์ธํ„ฐ p์— ๊ฐ’ x ์‚ฝ์ž…. ์‚ฝ์ž…ํ•œ ์œ„์น˜ ํฌ์ธํ„ฐ(๊ฐ’:x) ๋ฐ˜ํ™˜.
v.insert(p,n,x) // ํฌ์ธํ„ฐ p์— x๋ฅผ n๊ฐœ ์‚ฝ์ž….

v.pop_back() // pop. ๋งˆ์ง€๋ง‰ ์›์†Œ ์ œ๊ฑฐ
v.push_back() // push. ๋งˆ์ง€๋ง‰ ์›์†Œ์— ์ถ”๊ฐ€


v.clear() // ๋ชจ๋“  ์›์†Œ ์ œ๊ฑฐ
v.empty() // ๋น„์—ˆ๋Š”์ง€ ํ™•์ธ, capacity์™€๋Š” ์ƒ๊ด€์—†์Œ.

 

๋น„๊ต ์—ฐ์‚ฐ์ž  
v1 == v2 v1๊ณผ v2์˜ ๋ชจ๋“  ์›์†Œ๊ฐ€ ๊ฐ™์€๊ฐ€? (bool) 
v1 != v2 v1๊ณผ v2์˜ ๋ชจ๋“  ์›์†Œ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ๋‹ค๋ฅธ ์›์†Œ๊ฐ€ ์žˆ๋Š”๊ฐ€? 
v1 < v2 ๋ฌธ์ž์—ด ๋น„๊ต์ฒ˜๋Ÿผ v2๊ฐ€ v1๋ณด๋‹ค ํฐ๊ฐ€? 
v1 > v2 ๋ฌธ์ž์—ด ๋น„๊ต์ฒ˜๋Ÿผ v1์ด v2๋ณด๋‹ค ํฐ๊ฐ€? 
 v [i] v์˜ i๋ฒˆ์งธ ์›์†Œ ์ฐธ์กฐ(๊ฐ’์–ป๊ธฐ or ๊ฐ’ ๋ณ€๊ฒฝํ•˜๊ธฐ)

 

2-2 deque (double-ended queue)

์ž…๋ ฅ๊ฐ’์„ ์•ž, ๋’ค๋กœ ์ถ”๊ฐ€ ์‚ฝ์ž…์ด ๋งŽ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค.

๋ฒกํ„ฐ์™€ ๋น„์Šทํ•˜์ง€๋งŒ ๋‚ด๋ถ€ ๊ตฌ์กฐ๊ฐ€ ๋ฒกํ„ฐ์ฒ˜๋Ÿผ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ๊ณต๊ฐ„์„ ์“ฐ์ง€์•Š๊ณ , ์ผ์ • ๋‹จ์œ„(chunk)๋ณ„๋กœ ์ €์žฅ์„ ํ•ด์„œ ์ถ”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น๋Ÿ‰์ด ๋งŽ์€ ๊ฒฝ์šฐ ํ™•์žฅ์— ์œ ๋ฆฌํ•˜๋‹ค. ๋‹ค๋งŒ ๋ฒกํ„ฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์•ž,๋’ค๊ฐ€ ์•„๋‹Œ ์ค‘๊ฐ„์‚ฝ์ž… ์ˆ˜ํ–‰์‹œ ์†๋„๊ฐ€ ๋งค์šฐ ๋Š๋ฆฌ๋‹ค.

// vector์™€ ๋น„์Šทํ•œ๋ฐ, ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ด์ค€๋‹ค.
deque<int> dq = {20, 30};
dq.push_back(30);
dq.push_front(30);

dq.pop_back();
dq.pop_front();

 

2-3 List

์ธ๋ฑ์Šค์ ‘๊ทผ(์ž„์˜ ์ ‘๊ทผ)์ด ํ•„์š”์—†๊ณ  ์‚ฝ์ž… ์‚ญ์ œ๊ฐ€ ๋งŽ์„ ๋•Œ ์œ ์šฉํ•œ ์ž๋ฃŒํ˜•์ด๋‹ค. ๋‚ด๋ถ€๋Š” ์ด์ค‘ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌํ˜„๋˜์–ด์žˆ๋‹ค.

๊ฐ’ ์ ‘๊ทผ ์†๋„๊ฐ€ deque, vector๋ณด๋‹ค ๋Š๋ฆฌ์ง€๋งŒ ์•„๋ž˜์™€ ๊ฐ™์ด ์ค‘๊ฐ„ ์‚ฝ์ž…/์‚ญ์ œ๊ฐ€ ๋งŽ์€ ์ž‘์—…์„ ๋งŽ์ด ํ•  ๋•Œ์—๋Š” ๋ฆฌ์ŠคํŠธ๊ฐ€ ํ›จ์”ฌ ์ตœ์ ํ™”๊ฐ€ ์ž˜๋˜์–ด์žˆ์–ด ๋น ๋ฅด๋‹ค.

ํ•จ์ˆ˜ ์„ค๋ช…
swap() ๋‘ ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟˆ
reverse() ๋ฆฌ์ŠคํŠธ ์ „์ฒด๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋ฐ”๊ฟˆ
sort() ๋ฆฌ์ŠคํŠธ ์ „์ฒด๋ฅผ ์ •๋ ฌํ•จ.
unique() ๊ฐ™์€ ๊ฐ’์ด ๋ถ™์–ด์žˆ๋Š”๊ฒฝ์šฐ, ํ•˜๋‚˜๋กœ ๋งŒ๋“ฌ ( 1, 3, 3, 3, 1 ->1, 3, 1)
merge() ๋‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•ฉ๋ณ‘ ์ •๋ ฌํ•จ.
splice(ํฌ์ธํ„ฐ, ๋ฆฌ์ŠคํŠธ)  ๋‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ฑฐ๋‚˜ ํ•œ์ชฝ์— ๋ถ™์ž„.
.remove(๊ฐ’) ํ•ด๋‹น ๊ฐ’์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ๋‹ค.
.remove_if(ํ•จ์ˆ˜) ํ•ด๋‹น ์กฐ๊ฑด์ด ์ฐธ(true)์ธ ๋ชจ๋“  ์›์†Œ๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.

 

2-4 forward_list

์ˆœ๋ฐฉํ–ฅ ๋ฆฌ์ŠคํŠธ. ๋ฆฌ์ŠคํŠธ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ตœ์ ํ™”ํ•œ ๋ฒ„์ „์œผ๋กœ ๋ฌด์กฐ๊ฑด ์ˆœ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ๋Šฅ์€ ๋ฆฌ์ŠคํŠธ์™€ ํฐ ์ฐจ์ด ์—†๋‹ค.

 

3. ์—ฐ๊ด€ ์ปจํ…Œ์ด๋„ˆ (associate)

map์ด๋‚˜ set๊ฐ™์€ ์ž๋ฃŒํ˜•๋“ค. ์•„ ์ฐธ๊ณ ๋กœ ์•ž์— multi๊ฐ€ ๋ถ™์€ ๊ฑด ํ‚ค์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.

3-1 pair

๋‘ ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜์˜ ์Œ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

๋ณดํ†ต map ๊ฐ™์€ ๊ณณ์— ์“ธ๋ ค๊ณ  key-set์ด ํ•œ ์Œ์ธ ์ž๋ฃŒํ˜•์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์ปจํ…Œ์ด๋„ˆ.

์ฐธ๊ณ ๋กœ ๋น„๊ต ์—ฐ์‚ฐ์ž๋‚˜ sort๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. (์ฒซ๋ฒˆ์งธ ์ธ์ž ๊ธฐ์ค€, ๊ฐ™์œผ๋ฉด ๋‘๋ฒˆ์จฐ ์ธ์ž๊นŒ์ง€ ๋น„๊ต)

pair<ํด๋ž˜์Šค1,ํด๋ž˜์Šค2> p;
p.first // ํด๋ž˜์Šค 1 ๋ฐ˜ํ™˜
p.second // ํด๋ž˜์Šค 2 ๋ฐ˜ํ™˜

make_pair(x1, x2)// ๊ฐ’ x1, x2๋ฅผ pair๋กœ ๋งŒ๋“ค์–ด์„œ ๋ฐ˜ํ™˜

 

3-2 set

set<๊ฐ์ฒด> ๊ฐ์ฒด์ด๋ฆ„;
set<int> st;
st.insert(10); // ํ•ด๋‹น ๊ฐ’ ์ถ”๊ฐ€
st.erase(10); // ํ•ด๋‹น ๊ฐ’ ์‚ญ์ œ (์ „๋ถ€)

 

3-3 map

map<key, value> ๊ฐ์ฒด์ด๋ฆ„;
map<string, int> mp;

mp.insert(pair<string,int>("ํ‚ค๊ฐ’", 80));
mp["ํ‚ค๊ฐ’"] = 80;

 

4. ์ปจํ…Œ์ด๋„ˆ ์–ด๋Œ‘ํ„ฐ

Stack, Queue, Priority_queue

stack์ด๋‚˜ queue ๊ฐ™์€ ์ž๋ฃŒํ˜•์„ ์ง๊ด€์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ์ปจํ…Œ์ด๋„ˆ.

ํ•ด๋‹น ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋น„์ •์ƒ์ ์ธ ์ ‘๊ทผ์„ ์ฐจ๋‹จํ•ด์ฃผ๊ณ  ๋ฉ”์„œ๋“œ ์ด๋ฆ„์„ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ–ˆ๋‹ค.

๋‹ค๋งŒ ๋‚ด๋ถ€๊ตฌ์กฐ๋Š” ๊ธฐ๋ณธ ์ปจํ…Œ์ด๋„ˆ๋“ค(vector)๊ณผ ๋™์ผํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ์–ด๋Œ‘ํ„ฐ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋ฉ”์„œ๋“œ ์„ค๋ช…
.empty() ์Šคํƒ์ด ๋น„์–ด ์žˆ์œผ๋ฉด true๋ฅผ, ๋น„์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•จ.
.size() ์Šคํƒ ์š”์†Œ์˜ ์ด ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•จ.
.top() ์Šคํƒ์˜ ์ œ์ผ ์ƒ๋‹จ์— ์žˆ๋Š” (๋งˆ์ง€๋ง‰ ๊ฐ’)์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ๋ฐ˜ํ™˜ํ•จ.
.push() ์Šคํƒ์˜ ์ œ์ผ ์ƒ๋‹จ์— ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•จ.
.pop() ์Šคํƒ์˜ ์ œ์ผ ์ƒ๋‹จ์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ์‚ญ์ œํ•จ.
.front() (ํ๋งŒ ํ•ด๋‹น) ์ œ์ผ ์•ž์˜ ์š”์†Œ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ๋ฐ˜ํ™˜ํ•จ.
.back() (ํ๋งŒ ํ•ด๋‹น) ์ œ์ผ ๋’ค์˜ ์š”์†Œ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ๋ฐ˜ํ™˜ํ•จ.

์ฐธ๊ณ ๋กœ ์šฐ์„ ์ˆœ์œ„ ํ (priority_queue)๋Š” ๊ฐ€์žฅ ํฐ ๊ฐ’์ด ๋งจ ์•ž์œผ๋กœ ์˜ค๊ฒŒ๋˜๋Š” ํ์ด๋‹ค. (์ž๋™์ •๋ ฌ)

 

'๐ŸŒฑBackend > CPP' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

3. ์˜ˆ์™ธ์ฒ˜๋ฆฌ  (0) 2020.12.29
3. Class  (0) 2020.12.28
2. Cpp์˜ ๋…ํŠนํ•œ ์‚ฌ์šฉ๋ฒ•  (0) 2020.12.26
1. Hello World  (0) 2020.12.26

๋ธ”๋กœ๊ทธ์˜ ์ •๋ณด

JiwonDev

JiwonDev

ํ™œ๋™ํ•˜๊ธฐ