2012년 8월 9일 목요일

STL vector 임의 요소 삭제 하기.

vector를 처음 접하는 유저라면 임의의 요소를 삭제하는일이 그렇게 쉽지많은 않을것이다(나만 그런가 ㅡㅡ)

아래와 같이 코드를 구현하면 되는데 방법은 간단히 설명하면 iterator 를 이용하여 erase 하면서 erase 함수가 해당 요소를 지우고 다음
값을 iterator 값으로 넘겨 준다. 이것을 받아서 연산을 계속 진행하면 된다.

typedef vector<int> tvec_Integer;
tvec_Integer vecInt;
.
.

tvec_Integer::iterator iteInt;
iteInt = vecInt.begin();
while(iteInt != vecInt.end())
{
 //임의 요소 5값을 가진것을 삭제 한다면..
 int nTemp = *iteInt;

 if(nTemp == 5)
      iteInt = vecInt.erase(iteInt);
 else
      iteInt++;
}

댓글 없음: