STL algorithm 편 2. min, max, minmax, (+_element)
min, max는 정말 이름 그대로의 함수이며 c++에서 std를 선언하면 min, max를 변수명으로 사용 할 수 없는 이유이다. 에 정의되어 있으며 std안에 정의 되어 있으므로 std를 선언해야 한다. min()은 두 개의 값중 더 작은 값을 반환하고 max()는 큰 값을 반환한다. 즉 min(a, b) == a > b ? b : a 이고 max(a, b) == a > b ? a : b 이다. (실제로 이렇게 구현되어 있다.) 그리고 최신버전 c++(17인가 부터)에서는 2개 값이 아닌 더 많은 값도 처리 할 수 있게 되었는데, 함수인자에 min({ a,b,c,d }) 처럼 초기화 하는 형식으로 중괄호를 넣어주면된다. 또한 compare함수를 작성하여 추가 할 수 있는데, 크고 작음을 어떤 방식으로..
STL Container 편 3. stack, queue, deque, priority_queue
stack, queue, deque, priority_queue(heap)는 자료구조에서 배운 그대로의 기능을 갖추고있다. 따라서, 각각 자료구조의 개념과 함수만 알고 있다면 충분히 활용도가 높다. 각각 #include 해야 사용 가능하며 이 들 역시도 namesapce std안에 있다. stack s 는 s.push(), s.pop(), s.top(), s.size(), s.empty() 가 있고 queue q 는 q.push(), q.pop(), q.front(), q.size(), q.emtpy() 로 스택과 top(), front()의 차이만 있다. deque은 double ended - queue의 줄임말로 큐의 양 쪽 끝이 모두 push, pop이 가능한 자료구조이다. 따라서, push(), ..