언어 자료구조 알고리즘/[C++]디딤돌 자료구조와 알고리즘

3.2.3 list 사용 [디딤돌 자료구조와 알고리즘 with C++]

언제나휴일 2016. 4. 4. 10:49
반응형

3.2.3 list 사용

STLlist 사용 방법은 vector를 사용하는 방법과 매우 유사합니다. 차이가 있는 부분은 vector에서는 자료를 보관하는 저장소가 연속적인 메모리에 있어서 인덱스 연산을 제공하지만 list에는 제공하지 않는다는 점 정도입니다.

 

물론 vector에서 저장소의 크기를 확인할 때 사용하는 capacity 메서드나 저장소의 크기를 설정하는 reserve 메서드도 없습니다.

 

하지만 이 외에 대부분의 사용방법은 같습니다.

 

3.1.2 3.1.4에서 vector를 사용하는 코드에서 포함할 파일명과 타입 재지정하기 위한 typedef문에 vectorlist로 변경하면 아무런 컴파일 오류도 없으며 실행도 똑같이 동작합니다.

//#include <vector>

#include <list>

#include <algorithm>

 

//using std::vector;

using std::list;

using std::find;

using std::find_if;

 

//typedef vector<Genre *> Genres;

typedef list<Genre *> Genres;

typedef Genres::iterator GIter;

typedef Genres::const_iterator GCIter;

...이하 생략...

 

여러분께서는 다시 한 번 작성해 보시기 바랍니다.

 

개발자는 관리해야 할 자료와 기능에 따라 어떠한 자료구조를 선택할 것인지를 고민해서 결정해야 합니다. 이를 위해 자료구조를 학습하는 것입니다. 기본적인 자료구조들은 이미 라이브러리로 만들어져 있기 때문에 실제 개발자가 만들어야 할 때는 많지 않습니다. 물론 그래프나 특수한 용도의 자료구조는 만들어야겠죠.

반응형