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 2021-02-07 05:27:58
    Processing time 0.0110 sec