STL - 12 (연결리스트 - 5 insert/erase/랜덤접근)

Youngmin Choi·2021년 6월 19일
0

STL

목록 보기
10/34
post-thumbnail

1. insert

  • 지정된 위치에 삽입하며, 세가지 방식이 있다.
  1. iterator insert(iterator _Where, const Type& _Val);
  2. void insert(iterator _Where, size_type_Count, const Type& _Val);
  3. template void insert(iterator _Where, InputIterator _First, InputIterator _Last);

ex)

2. erase

  • erase는 지정된 범위에 있는 데이터를 삭제하며, 두가지 방식이 있다!
    하나는 지정된 위치의 데이터를 삭제하는 것이고, 다른 하나는 지정된 범위의 데이터를 삭제한다.

원형 :
iterator erase(iterator _Where);
iterator erase(iterator _First, iterator _Last);

ex)

3. 랜덤 접근

list 반복자의 랜덤 접근

  • 앞 글 예시에서 해당 위치로 접근하기 위해 ++iterPos를 사용했다. 만약 세 번째 위치로 이동하려면 한 번 더 ++iterPos를 해야 한다. list는 랜덤 접근이 안되므로 원하는 위치까지 하나씩 이동해야 한다. 그러나 vector와 같이 랜덤 접근이 가능한 컨테이너는 다음 코드처럼 바로 접근할 수 있다.

ex) vector

profile
Always, Continually, In all circumstance

0개의 댓글