|| [[TableOfContents]] || == list == * 만들기 까다로운 더블 링크드 리스트를 제공해준다. * include : list {{{~cpp #include }}} === 선언 === {{{~cpp list l; list::iterator i; }}} === 데이터 넣기 === {{{~cpp l.push_back(5); // 맨 뒤에 넣기 l.push_front(4); // 맨 앞에 넣기 }}} === 순회 === * iterator 를 이용한 순회는 containter에 공통점이다. {{{~cpp list::iterator i; // for 에서 반복자 이용 순회 for(i = l.begin() ; i != l.end() ; ++i) cout << *i << endl; // while 에서 반복자 이용순회 i = l.begin(); while( i != l.end() ){ cout << *i << endl; i++; } }}} === 프로그램의 예 === {{{~cpp #include #include using namespace std; int main(){ const int INDEX_MAX = 5; int data[] = {1,2,3,4,5}; list l(&data[0], &data[INDEX_MAX]); list::iterator i ; cout << "for 문에서 반복자 이용 순회" << endl; for(i = l.begin() ; i != l.end() ; ++i) cout << *i << "t"; cout << endl; cout << "while 문에서 반복자 이용 순회" << endl; i = l.begin(); while( i != l.end() ){ cout << *i << "t"; i++; } return 0; } }}} 결과 {{{~cpp for 문에서 반복자 이용 순회 1 2 3 4 5 while 문에서 반복자 이용 순회 1 2 3 4 5 }}} === 추가 지식 === list 의 반복자는 양방향 반복자로서 임의 접근 반복자가 지원하는 연산을 제외한 기타 모든 연산자에 대한 연산을 지원한다. AC++ 8장을 참고하기 바람. ---- ["STL"] ["AcceleratedC++/Chapter8"]