PL/C++

[자료구조 C/C++] #06. Iterator

poopooreum 2023. 7. 23. 13:27
반응형

iterator란??

iterator는 반복자로써 C++에서 제공하는 라이브러리읻니다.  쉽게 생각하면 C에서 사용하는 포인터와 역할이 비슷하고  좀 더 자세히 말하면 배열의 요소들을 가리키는 포인터라고 할 수 있습니다.

 

반복자의 종류


입력 반복자(input iterator)
=> 읽기만 가능하여, 순방향으로 이동하고 한 번에 한 개의 원소만 읽을 수 있습니다.

출력 반복자(output iterator)
=> 쓰기만 가능하며, 순방향으로 이동하고 한 번에 한 개의 원소만 쓸 수 있습니다.

순방향 반복자(forward iterator)
=> 읽기와 쓰기 모두 가능하며, 순방향 이동이 가능하고 재할당이 가능한 반복자입니다.

양방향 반복자(bidirectional iterator)
=> 읽기 쓰기 모두 가능하며, 양방향 이동 가능합니다.

임의 접근 반복자(random access iterator)
=> 읽기/쓰기 모두 가능하며, 임의 접근 가능합니다.

 

Iterator 사용법

 

std::vector<int>변수명
일반적으로 벡터에서 많이 사용하기 때문에
벡터를 예시로 들었습니다. 벡터 이외에도
map,set,list,deque 등에서도 사용합니다.

for(it=v.begin();it!=v.end();it++)
보통 반복문에서 반복자를 사용하는 방식입니다.

iterator로 배열등의 주소를 받아서 원소를 삽입하거나 삭제할 수 있습니다.




반응형