[42서울] cpp08 구현
·
대외활동/42서울
CPP08은 템플릿, STL (Standard Template Library), 그리고 반복자와 같은 C++ 개념을 다루는 과제이다. C++ 반복자(iterator)란?반복자(iterator)는 C++의 STL(표준 템플릿 라이브러리)에서 컨테이너의 요소를 순회(traverse)하거나 접근(access)하기 위해 사용되는 추상화된 포인터이다.컨테이너 내부 구현에 독립적이며, 배열이나 연결 리스트 같은 자료구조를 한 가지 방식으로 순회할 수 있게 해준다. 반복자의 역할반복자는 컨테이너의 첫 번째 요소부터 마지막 요소까지 순회하는 데 사용됩니다.STL 알고리즘(std::sort, std::find 등)은 반복자를 통해 컨테이너와 상호작용합니다.반복자는 컨테이너의 세부 구현을 감춥니다. (추상화) ex00#i..
[객체지향프로그래밍][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++ 데..