1. push_front(value)
list<int> a = {1,2,3};
a.push_front(9);
[결과]
a is 9 1 2 3
2. push_back(value)
list<int> a = {1,2};
a.push_back(1);
[결과]
a is 1 2 1
3. insert(idx, value)
list<int> a = {1,2,3,4};
auto it = a.begin(); it++;
a.insert(it ,10);
[결과]
a is 1 100 2 3 4
4. erase(idx)
erase()는 iterator를 반환하기 때문에 iterator it 를 계속 사용하려면 반환받아야 한다.
iterator를 반환받지 않고 동일한 iterator를 사용하면 런타임에러가 발생한다.
// 1. 반환받지 않은 경우
list<int> a1 = {1,2,3,4};
auto it1 = a1.begin(); it1++;
a1.erase(it1);
a1.erase(it1);
[출력]
런타임에러(segfault)
// 2. 반환받은 경우
list<int> a2 = {1,2,3,4};
auto it2 = a2.begin(); it2++;
it2 = a2.erase(it2);
a2.erase(it2);
[출력]
14
5. pop_front()과 pop_back()
list<int> a = {1,2,3,4};
pop_front();
pop_back();
[결과]
a is 2 3
6. front()와 back()
list<int> a = {9,8,7};
cout << a.front() << '\n';
cout << a.back();
[출력]
9
7
7. clear()
'C++' 카테고리의 다른 글
[C++] 뒤집는 함수 : reverse() (0) | 2024.03.01 |
---|---|
[C++] stack, queue, deque 관련 함수 (0) | 2024.02.15 |
[C++] lower_bound()와 upper_bound() (0) | 2024.02.14 |
[C++] string 관련 함수 : insert(), erase(), find(), substr(), split(), ... (0) | 2024.02.13 |
[C++] 순열을 만드는 함수 : next_permutation() (0) | 2024.02.08 |