vector
-
C++ vector 중복 원소 삭제[C , C++] 2021. 1. 21. 14:09
1. unique 함수 unique 함수는 vector에서 중복되지 않는 원소들을 앞에서부터 채워나가는 함수 (algorithm 헤더에 정의) 자신이 바꾼 vector의 end()를 반환 (중복 원소들(쓰레기 값들)의 첫 번째 위치 리턴) unique 함수는 앞과 뒤의 원소들을 비교하기 때문에 반드시 정렬을 한 뒤 실행 unique 함수는 erase 함수에 중첩하여 사용 가능 사용 순서 1. sort 벡터를 정렬한다. 2. unique 중복 원소는 벡터의 제일 뒷부분(쓰레기 값)으로 보낸다. 3. erase 중복된 원소들이 있는 뒷 부분을 삭제한다. #include #include #include using namespace std; int main() { vector v; v.push_back(1); ..
-
C++ vector sort() 벡터 클래스 변수 기준 정렬[C , C++] 2021. 1. 13. 13:06
클래스 객체를 담는 벡터에서 클래스 변수 값을 기준으로 벡터를 정렬하는 방법 sort(begin, end, compareFunction) compareFunction에 비교 조건을 정의할 boolean 반환 사용자 정의 함수를 추가해주면 된다. ★const와 &를 통해서 레퍼런스로 받아와야 한다. ★class의 함수를 통해 변수를 알아내려면 그 함수도 const로 정의해야 한다. class object { int var; public: int getVar() const {return var;} }; Colored by Color Scripter cs bool compareFunction(const object &o1, const object &o2) { return o1.getVar() > o2.getV..