목록Programming Language (3)
땡글이LAB

C++에서 자주 쓰이는 STL 자료구조들이다. set, multiset, unordered_set 은 비슷하면서도 다른 기능들을 가지고 있다. 처음으로 set과 multiset의 차이를 비교해보고 이후에 unordered_set에 대해 따로 알아보자. [set VS multiset] set과 multiset의 공통점부터 다루고, 차이점에 대해서 다루겠다. 둘의 공통점으로는 자가 균형 이진 검색 트리로 구성되어 있고, 노드 기반의 컨테이너인 점이다. 자가 균형 이진 검색 트리란, 간단히 말하자면 트리에서 삽입과 삭제가 일어나더라도 한 쪽으로 편향되지 않도록 트리의 높이를 작게 유지되며, "왼쪽 자식 노드는 오른쪽 자식 노드보다 항상 작다" 라는 성질을 만족한다. C++에서 사용되는 Set STL에 조금 더..

# Iterator(반복자) 컨테이너에 저장되어있는 원소들을 공통적인 방법으로 하나씩 접근 가능하다. 모든 컨테이너들이 다 같은 방법으로 반복자 사용 가능. 각 타입에 ::iterator 또는 ::const_iterator 를 뒤에 붙여주면 사용이 가능하다. vector 컨테이너의 반복자 vector::iterator it; vector 컨테이너의 const한 반복자 vector::const_iterator it; 포인터와 비슷하게 사용된다. 간접 참조 가능 it = v.begin() + 2 에서 *it 간접 참조를 하면 세 번째 원소 값이 리턴된다. iterator와 const_iterator의 차이 const_iterator는 반복자가 가리키는 원소의 값을 변경하지 못한다. 반복자 값이 변경되지 못하..

C++에서 문자열을 자르는 데에는 여러 방법이 있는데 istringstream을 사용한 방법과 find + substr을 사용한 방법을 알아보겠다. #1. istringstream 사용 - 헤더 파일 #include #include #include #include using namespace std; int main() { string str = "c++ java python JS"; istringstream iss(str); string tmp; while (getline(iss, tmp, ' ')) { cout