STL Container 자료구조에서 특정 값 제거를 위한 코드
컨테이너가 표준 시퀀스 컨테이너이면, container::erase + std::remove 를 사용합니다.
(단, list 컨테이너는 list container::remove를 사용합니다.)
컨테이너가 표준 연관 컨테이너이면, container::erase 를 사용합니다.
(단, list 컨테이너는 list container::remove를 사용합니다.)
컨테이너가 표준 연관 컨테이너이면, container::erase 를 사용합니다.
#include < vector > #include < algorithm > // std::vector 삭제 코드 typedef std::vector< int > VEC_Container; VEC_Container vecContainer; vecContainer.push_back( 1 ); vecContainer.push_back( 2 ); vecContainer.push_back( 1 ); vecContainer.push_back( 4 ); vecContainer.push_back( 1 ); const int eraseValue = 1; vecContainer.erase( std::remove( vecContainer.begin(), vecContainer.end(), eraseValue ), vecContainer.end() );
#include < list > // std::list 삭제 코드 typedef std::list< int > LIST_Container; LIST_Container listContainer; listContainer.push_back( 1 ); listContainer.push_back( 2 ); listContainer.push_back( 1 ); listContainer.push_back( 4 ); listContainer.push_back( 1 ); const int eraseValue = 1; listContainer.remove( eraseValue );
#include < set > // std::multiset 삭제 코드 typedef std::multiset< int > MULTISET_Container; MULTISET_Container multisetContainer; multisetContainer.push_back( 1 ); multisetContainer.push_back( 2 ); multisetContainer.push_back( 1 ); multisetContainer.push_back( 4 ); multisetContainer.push_back( 1 ); const int eraseValue = 1; multisetContainer.erase( eraseValue );
덧글을 달아 주세요