목록자료구조 (12)
개발하는 리프터 꽃게맨입니다.
[ 목차 ] 개요 1. 리스트란? 리스트는 자료를 정리하는 방법 중 하나입니다. 항목이 '연속적으로' 저장되어 있는 자료구조의 가장 기본적인 한 형태라고 할 수 있죠. 대부분의 언어에서 기본적으로 제공하는 '배열' 역시 '리스트'의 한 종류 입니다 그리고 '리스트'를 구현하는 방법이 하나 더 있는데, 그것이 연결 리스트입니다. 2. 연결리스트 연결리스트는 노드라는 데이터 단위가 존재하고, 노드 내부에는 데이터가 연결되는 데이터 영역, 그리고 다른 노드를 가리키는 링크 영역이 존재합니다. 저장하고 싶은 데이터를 데이터 영역에 저장하고, 링크 영역에서 링크라는 연결이 다른 노드를 가리킵니다. 이런 방식으로 메모리가 링크라는 줄로 연결된 상태입니다. 이런 링크라는 표현은 다른 여러 가지의 자료구조를 구현하는데..
template class Iterator { public: Iterator(T* item) : _item(item) {} public: T* operator++() { return ++_item; } T* operator--() { return --_item; } T* operator+(int idx) { return _item + idx; } T* operator-(int idx) { return _item - idx; } int& operator*() { return *_item; } int& operator->() { return *_item; } bool operator==(const Iterator& other) const { return _item == other._item; } bool o..