Loading Now

[Cpp-STL] List – erase

STL C++List

Bài tập:

Cho list số nguyên và hai số nguyên firstlast.
(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 = 2last = 4,
    thì verifyFunction(v, first, last) = [1, 5, 6].

  • Với v = [5, 4, 2, 5]first = 1 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

Contact