STL 조작 알고리즘 1. 원소의 제거 - remove() 알고리즘은 주어진 범위에서 특정 원소를 제거한다. ex) remove(coll1.begin(),coll1.end(), //범위 3);//값 pre : 6 5 4 3 2 1 1 2 3 4 5 6 //이전데이타삽입된 결과 post : 6 5 4 2 1 1 2 4 5 6 5 6 //remove로 3값을 제거한 결과 5,6이 복사되어 있다. -> remove() 알고리즘은 컬렉션의 원소 갯수를 변경하지 못한다. 따라서 다음과 같은 방법으로 개선한다. list::iterator end = remove(coll1.begin(),coll1.end(),3); //복사된 시작점을 받아온다. coll.erase(end,coll1.end()); //제거된 원소들을 제거한다. 2. 연관 .. 더보기 반복자 종류 1. 삽입 반복자 - 목적지가 충분한 공간을 확보하지 않았을 경우 목적지의 사이즈를 증가시켜준다. 3가지 종류가 있다. ex) 1) copy(coll1.begin(),coll1.end(), // 소스 back_inserter(coll2)); //목적지 - 후위삽입반복자 2) copy(coll1.begin(),coll1.end(), // 소스 front_inserter(coll2)); //목적지 - 전위산입반복자 3) copy(coll1.begin(),coll1.end(), // 소스 inserter(coll4,coll4.begin()); //목적지 - 일반적인 삽입반복자 2. 스트림 반복자 - 스트림에서부터 읽기와 쓰기가 가능한 반복자이다. ex) //표준입력에서부터 모든 단어를 읽어들인다. //소스 :.. 더보기 STL 알고리즘 개요 ex) #include #include #include using namespace std; int main(){ vector coll; vector::iterator pos; coll.push_back(2); coll.push_back(5); coll.push_back(4); coll.push_back(1); coll.push_back(6); coll.push_back(3); //최대, 최소값을 찾아 출력한다. pos = min_element(coll.begin(),coll.end()); cout 더보기 이전 1 ··· 264 265 266 267 268 269 270 ··· 274 다음