STL에 있는 컨테이너로서
이중연결리스트의 자료구조로 구현되어 있다.
#include <iostream>
#include <list>
int main()
{
std::list<int> listInt;
// 선택한 자료형을 삽입
listInt.push_back(1);
// 마지막 요소를 제거
listInt.pop_back();
// 첫번째 요소를 제거
listInt.pop_front();
// 모든 요소를 제거
listInt.clear();
// 지정한 위치의 요소를 제거 iterator로 위치 지정
listInt.erase(listInt.begin());
// 첫번째 요소를 가르키는 iterator
listInt.begin();
// 마지막 요소를 가르키는 iterator
listInt.end();
return 0;
}
std::list의 각 함수들의 시간 복잡도
| 함수 | 시간 복잡도 | 설명 |
| push_front() | O(1) | 리스트의 앞에 요소 추가 |
| push_back() | O(1) | 리스트의 뒤에 요소 추가 |
| insert(iterator) | O(1) | 특정 위치에 요소 삽입 |
| pop_front | O(1) | 리스트의 앞에서 요소 제거 |
| pop_back | O(1) | 리스트의 뒤에서 요소 제거 |
| erase(iterator) | O(1) | 특정 위치의 요소 제거 |
| find | O(n) | 리스트에서 특정 요소 탐색 |