U E D R , A S I H C RSS

STL/list

1. list

  • 만들기 까다로운 더블 링크드 리스트를 제공해준다.
  • include : list
    ~cpp 
    #include <list> 
    

1.1. 선언


~cpp 
list<int> l;
list<int>::iterator i;

1.2. 데이터 넣기


~cpp 
l.push_back(5);  // 맨 뒤에 넣기
l.push_front(4); // 맨 앞에 넣기

1.3. 순회

  • iterator 를 이용한 순회는 containter에 공통점이다.
    ~cpp 
    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++; 
    } 
    
  • 1.4. 프로그램의 예


    ~cpp 
    #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;
    }
    
    결과
    ~cpp 
    for 문에서 반복자 이용 순회
    1       2       3       4       5
    while 문에서 반복자 이용 순회
    1       2       3       4       5
    

    1.5. 추가 지식

    list 의 반복자는 양방향 반복자로서 임의 접근 반복자가 지원하는 연산을 제외한 기타 모든 연산자에 대한 연산을 지원한다.
    AC++ 8장을 참고하기 바람.

    ----
    STL AcceleratedC++/Chapter8
    Valid XHTML 1.0! Valid CSS! powered by MoniWiki
    last modified 2009-05-27 07:09:19
    Processing time 0.0102 sec