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