- 싱글리 (단일)
- 더블리 (이중)
- 서큘러 (원형)
k번쨰 원소의 접근 : O(1) / O(k)
임의 위치에 원소 추가 제거 : O(n) / O(1)
메모리 상의 배치 : 연속 / 불연속
추가적으로 필요한 공간(Overhead) : x / O(n) => 싱글리 : 다음원소의 주소, 더블리 : 이전,다음원소의 주소
int main(void)
{
list<int> l = {1,2}; // 1 2
list<int>::iterator t = l.begin(); // auto t = l.begin(); 가능
l.push_front(10); // 10 1 2
cout << *t << '\n'; // t가 가리키는 값 1을 출력
t++;
l.push_back(5); // 5
l.insert(t, 6); // t가 가리키는 곳 앞에 6을 삽입. 10 6 1 2 5
t++; // 2 를 가리킴
t = l.erase(t);
cout << *t << '\n';
for(auto i : l)
cout << i << ' ';
cout << '\n';
for(list<int>::iterator it = l.begin(); it != l.end(); it++)
cout << *it << ' ';
}