Loading Now

[STL_C++]removeElements

STL C++List

Bài tập:

Cho list linkedList chứa các số nguyên và một số nguyên n.

Hãy xóa những phần tử có giá trị n trong list.

Ví dụ:

  • Với linkedList = [2, 5, 6, 5]n = 5,
    thì verifyFunction(linkedList) = [2, 6].

  • Với linkedList = [1, 2, 3]n = 5,
    thì verifyFunction(linkedList) = [1, 2, 3].

Lý thuyết.

Để xóa tất cả phần tử có giá trị nào đó trong list ta dùng hàm remove() (độ phức tạp O(n)).

Ví dụ như muốn xóa tất cả phần tử có giá trị x trong list a, ta làm như sau.

	a.remove(x);

 

Hướng dẫn.

Code mẫu:

list<int> removeElements(list<int> linkedList, int n) {
	linkedList.remove(n);
	return linkedList;
}

vector<int> verifyFunction(vector<int> v, int n) {
	list<int> l(v.begin(), v.end());
	l = removeElements(l, n);
	vector<int> vec(l.begin(), l.end());
	return vec;
}

Post Comment

Contact