○iterator

 ▷Position의 확장된 개념

 ▷각 요소의 순회 기능을 추가함.

 

 ▶pointer와 비슷하게 동작함.

  ▷*p: 해당 iterator의 element 반환

  ▷++p: 다음 element(iterator)

 

 ▶구현

  ▶Array-based

   ▷index가 cursor를 따라 움직임

   ▷begin = 0

   ▷end() = n (끝요소)

 

  ▶Linked list-based

   ▷현재 element를 담은 node를 따라 움직임.

   ▷begin() = front node

   ▷end() = trailer node (last node 다음)

 

 ◎STL iterators (C++)

 

○Container

 ▷iterator를 지원하는 자료구조

 ▷ex) Stack, Queue, Vector, List

 ▶종류

  ▷(standard) iterator: element에 대해 read/write 지원

  ▷const iterator: rean-only

  ▷bidirectional iterator: ++p, --p 지원

  ▷random-access iterator: p+i, p-i 지원

 

 ◎Container를 순회하는 Iterator

 

 

'컴퓨터 지식 > 자료구조' 카테고리의 다른 글

Tree  (0) 2020.11.20
Sequence  (0) 2020.11.20
Position, Node List  (0) 2020.11.06
Array Lists(Vector)  (0) 2020.11.02
Adapter  (0) 2020.10.28

+ Recent posts