
[Cpp-STL] List – erase
Bài tập:
Cho list số nguyên và hai số nguyên first
và last
.
(1 ≤ first ≤ last ≤ size
).
Hãy xóa các phần tử bắt đầu từ số thứ first
đến số thứ last
.
Ví dụ:
- Với
v = [1, 2, 3, 4, 5, 6]
,first = 2
vàlast = 4
,
thìverifyFunction(v, first, last) = [1, 5, 6]
. - Với
v = [5, 4, 2, 5]
,first = 1
vàlast = 2
,
thìverifyFunction(v, first, last) = [2, 5]
.
Hướng dẫn:
Code mẫu:
list<int> changeValue(list<int> l, int first, int last) {
list<int>:: iterator it = l.begin();
advance(it, first-1);
list<int>:: iterator it2 = l.begin();
advance(it2, last);
l.erase(it, it2);
return l;
}
std::vector<int> verifyFunction(std::vector<int> v, int first, int last)
{
list<int> l(v.begin(), v.end());
l = changeValue(l, first, last);
vector<int> vec(l.begin(), l.end());
return vec;
}
Post Comment