"STL"의 두 판 사이의 차이
jjuiddong
23번째 줄: | 23번째 줄: | ||
* std::unique 함수 | * std::unique 함수 | ||
− | ** unique 함수를 호출하기 전에 | + | ** unique 함수를 호출하기 전에 데이타를 먼저 정렬해줘야 한다. |
** unique 함수를 호출한 후에 erase 로 중복된 데이타를 제거해줘야 한다. | ** unique 함수를 호출한 후에 erase 로 중복된 데이타를 제거해줘야 한다. | ||
vector<int> lala; | vector<int> lala; |
2014년 3월 2일 (일) 16:48 판
- container 에 있는 내용을 쉽게 출력하는 법
- copy(test.begin(), test.end(), ostream_iterator<int>(cout, "\n") );
- STLpractice/GenralPrinting, STLpractice/SetTest 를 참고하자.
- set<T> 은 중복된 데이타를 제거하고, unique한 값만 저장한다.
- ifstream 으로 읽은 파일 정보를 모두 string에 넣기
- std::string str((std::istreambuf_iterator<char>(input)), std::istreambuf_iterator<char>());
- std::string 대소문자 구분없이 비교하기
- #include <boost/algorithm/string.hpp>
- if (boost::iequals(str, tag))
- vector, list 초기화
- std::vector v(10,1); // 벡터 v를 10개의 배열을 1로 초기화한다.
- std::fill(m_vector.begin(), m_vector.end(), 20);
- std::unique 함수
- unique 함수를 호출하기 전에 데이타를 먼저 정렬해줘야 한다.
- unique 함수를 호출한 후에 erase 로 중복된 데이타를 제거해줘야 한다.
vector<int> lala; lala.push_back(1); lala.push_back(99); lala.push_back(3); lala.push_back(99); sort(lala.begin(), lala.end()); // lala: 1, 3, 99, 99 lala.erase(unique(lala.begin(), lala.end()), lala.end()); // lala: 1, 3, 99