본문 바로가기

list2

C++ STL List에서 Sorting Intro list container에서 sort는 어떻게 할까? 다행히도? list container안에는 sort라는 함수가 내장되어 있다. default는 ascending sort이다. 이번 posting에서는 정수, 문자열, struct 같은 데이터 타입의 sort를 알아보고자 한다. integer sort sort 함수를 사용하면 된다. 그렇다면, default인 ascending sort 말고 descending sort는 어떻게 할 수 있을까? 먼저, sort 함수가 어떻게 정의되어 있는지를 보는 게 좋다. (C++ template에 익숙하지 않아서, 정확히 이해하지는 못했다.) 정의된 template을 보면, sort함수의 파라미터가 클래스구나. // list.sort()를 하면, def.. 2023. 2. 4.
C++ STL sequence container(vector, deque, list) intro 자료를 linear 하게 보관하고자 할 때, array나 linked list를 사용한다. 직접 구현해도 되지만, C++ STL에서는 이를 제공하고 있다. 이를 sequence container라고 한다. 이번 포스팅에서는 sequence container에는 무엇이 있고, 각 container의 함수의 시간복잡도를 알고자 한다. vector vector container는 동적 배열로, 메모리가 연속적으로 할당된다. 주의할 것은, vector의 back 이외에 insert 하거나 delete 하는 경우, O(n)의 시간복잡도가 소요된다. 위와 같은 경우는, list container가 효율적이다. (list는 어느 위치에 insert나 delete를 하던 상수시간이 소요된다.) 시간복잡도 i.. 2023. 1. 29.