Open devLupin opened 1 year ago
정의
template <class _Kty, class _Pr = less<_Kty>, class _Alloc = allocator<_Kty>>
Pr
부분에 less
가 default 정렬 방식이다.template <class _Ty = void>
struct less {
_CXX17_DEPRECATE_ADAPTOR_TYPEDEFS typedef _Ty first_argument_type;
_CXX17_DEPRECATE_ADAPTOR_TYPEDEFS typedef _Ty second_argument_type;
_CXX17_DEPRECATE_ADAPTOR_TYPEDEFS typedef bool result_type;
constexpr bool operator()(const _Ty& _Left, const _Ty& _Right) const {
return _Left < _Right;
}
};
위와 같은 이유로 custom operator를 만들고 싶다면, 구조체로 작성해야 한다.
struct Compare {
bool operator() (const string& a, const string& b) const {
if (a.size() == b.size())
return a < b;
return a.size() < b.size();
}
};
중복을 허용하지 않는 자료구조
key
라 불리는 원소들의 집합BST 기반
삽입과 동시에 정렬해야 하는 경우!