728x90
반응형

반복자 2

[객체지향프로그래밍][Java] List 심화 내용(Iterator)

List Enhanced for문 사용 // list가 초기화 되어있다고 가정 for(String str: list) { System.out.println(str); } // 위쪽 코드와 같은 기능 for(Iterator i = list.Iterator; i.hasNext(); ) { System.out.println(str); } Interface Iterable 메소드 기능 Iterator iterator() 타입의 반복자 리턴 public interface ListIterator extends Iterator 메소드 기능 void add(E e) 리스트에 원소를 더함 boolean hasNext() 리스트 반복자가 가리킬 다음 원소가 있으면 true boolean hasPrevious() 리스트 ..

[자료구조] 연결 리스트 2 (체인 반복자, 체인 조작 연산 2)

반복자(iterator) 반복자의 필요성 컨테이너 클래스의 종류에 따라 최대값을 찾는 구현 코드가 다름 - ex) 배열과 체인에 대해 최대값을 찾는 코드가 다르다 내부 구조의 이해 없이 컨테이너에 저장된 객체를 이용할 수 있는 반복자 필요 C++ 반복자 - 객체의 원소에 대한 포인터 - 객체의 원소를 하나씩 지나가도록 지원 C++ STL 반복자의 부류 입력 출력 전방 양방 임의접근 반복자 지원 연산 참조 연산자 * 동등 연산자 ==, != 반복자 전진 ++, 감소 -- 포인터 산술 연산, 임의의 양 점프 +=, -= Chain에 대한 전방 반복자 Chain을 위한 전방 반복자 클래스 class ChainIterator { private: ChainNode *current; public: // C++ 데..

전공/자료구조 2023.05.11
728x90
반응형