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로 배열등의 주소를 받아서 원소를 삽입하거나 삭제할 수 있습니다.
반응형