1. list 관련 함수

list에 관련된 모든 함수는 이 링크에서 확인할 수 있다.

  • list 초기화
    1
    
    list<int> l = { 1, 2 } // 1 2
    
  • begin() : 리스트의 첫번째 원소의 iterator(주소값)를 반환한다.
  • end() : 리스트의 마지막의 iterator(주소값)를 반환한다. (리스트의 마지막 원소가 아닌 마지막 원소의 한 칸 뒤를 가리킨다)
    1
    2
    
    list<int>::iterator t = l.begin();
    cout << *t << '\n'; // 1 출력
    


  • push_front(value) : 리스트의 가장 앞에 원소를 삽입한다.
  • push_back(value) : 리스트의 가장 뒤에 원소를 삽입한다.
  • insert(iterator, value): 해당 주소가 가리키는 곳 앞에 원소를 삽입한다.
    1
    2
    3
    
    l.push_front(5); //5 1 2
    l.push_back(10); // 5 1 2 10
    l.insert(t, 6); // 5 6 1 2 10
    


  • pop_front() : 리스트의 가장 앞의 원소를 삭제한다.
  • pop_back() : 리스트의 가장 뒤의 원소를 삭제한다.
  • erase(iterator) : 해당 주소가 가리키는 곳의 원소를 삭제하고, 그 다음 원소의 주소값을 반환한다.
    1
    2
    3
    
    l.pop_front(); // 6 1 2 10
    l.pop_back(); // 6 1 2
    l.erase(t); // 6 2 - 1 삭제 후 다음 원소인 2의 위치의 iterator 반환
    


  • front() : 리스트의 첫번째 원소를 반환한다.
  • back() : 리스트의 마지막 원소를 반환한다.
    1
    2
    
    l.front(); // 6
    l.back(); // 2
    
  • empty() : 리스트가 비어있는지 확인한다.
    1
    
    cout << l.empty() << '\n'; // 비어 있지 않으니 0 출력
    

2. list 순회하기

  • C++11 이상
    1
    
    for(auto i : l) cout << i << ' ';
    
  • C++11 미만
    1
    2
    3
    
    for(list<int>::iterator it = l.begin(); it != l.end(); it++) {
      cout << *it << ' ';
    }
    

    웬만하면 범위 기반 for문을 사용하자..

태그: ,

카테고리:

업데이트:

댓글남기기