본문 바로가기

C++

(3)
알고리즘 PS에 유용한 STL 블로그 링크 - upper_bound, lower_bound upper bound는 key값을 초과하는 가장 첫번째 원소의 위치. lower bound는 key값 이상(같아도됨)인 수가 처음으로 등장하는 원소의 위치. https://blockdmask.tistory.com/168 - next_permutation : 벡터의 순열을 다 구해줌. 벡터에 123 이 있으면 321까지 6개. https://twpower.github.io/82-next_permutation-and-prev_permutation -substr : 어떤 문자열의 substring을 처리하는 stl. 알아두면 문자열 처리하는 데있어서 시간을 많이 세이브 할 수 있을 것 같다. https://modoocode.com/235
C++ STL::Deque deque에 대해서 처음 알았을때 vector보다 편한 containor임을 보고 느꼈다. 우선 성능적으로도 vector는 새로운 원소가 들어오면 메모리를 재할당해서 이전 원소를 복사하지만 deque는 메모리가 부족할때마다 여러개의 메모리 블록을 할당하므로 이전 원소를 복사할 필요가 없는 구조이다. 가장 그리고 (PS를 풀면서 필요하다고 느낀) pop_front 같은 기능이 있다는 것이다!!(처음 알았다.) 왜냐면 vector에는 없기 때문에.. 여러모로 vector의 상위호환 구조라고 생각이 든다. deque의 선언은 deque dq; 꼴임. deque name; deque값의 삭제같은 것은 밑의 iterator를 활용해야 한다. 활용방법은 나중에 수정해서 올리겠다. 1 2 3 4 5 6 7 8 9 1..
C++ STL:: priority queue 제대로 쓸줄 알면 c++의 sort같은것 없이도 활용도 높은 작업들을 많이 할 수 있을 것 같다. 예를 들면 알고리즘 문제풀때라던지 우선순위 큐는 사용방법이 priority_queue로 정의된다. 예를 들어보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 #include #include using namespace std; int main(){ // priority_queue priority_queue pq; // or priority_queue pq; // push(element) pq.push(5); pq.push(2);..