목록자료구조 (2)
Coding Memo
윈도우에서 지원하는 concurrent에 대한 자료구조 헤더가 있는데, 이들은 lock-free로 구현되어 있으니 이 쪽을 사용하는 것이 훨씬 더 도움이 될 수도 있겠다 ㅋㅋ std::mutex를 이용한 lock과 std::priority_queue를 사용하여 간단한 concurrent 우선순위 큐를 만들어보았다.기본적인 push 및 pop 외에, 지정된 조건에 따라 결과값을 반환하는 TryPop등의 함수도 포함했다.상황에 따라 필요할 수도 있기 때문이다. (예를 들어, top의 객체를 확인하고 이 객체가 어떤 조건이 맞을 경우에만 pop을 해야할 필요가 있을 때, top과 pop을 따로하면 atomic하게 실행시켜야되는 데, 이 과정에서 외부 lock을 걸어야 되기 때문이다.) 추가적으로, 이동연산자를..
vector, deque, set, map, stack, queue, priority_queue 등의 컨테이너와 자료구조에서 자주 사용하는 함수들을 간단하게 요약하였다. 먼저, 간단하게 표현하기 위해서... 편의상 템플릿 타입과 컨테이너 사이즈 타입(size_t)은 int 형으로 하였다. 템플릿 타입 명시 를 생략하였다. const를 생략했고 각 컨테이너의 iterator는 간단하게 iterator로만 표현했다. 진짜 진짜 주요한 함수만 확인해보려면 스크롤을 맨 아래로 내리자! 참조: https://en.cppreference.com/w/cpp/container vector Sequence Container로 요소에 대해 순차적으로 접근 할 수 있다. (forward, backward 둘 다 순회 가능)..