通过在 C++ 中传入元素值从 Set 中删除一个元素的方法
此处我们将演示如何通过传入元素值来从 set 中删除一个元素。例如,如果 set 为 {10、20、30、50、60、80、90、100、120、200、500},我们要删除 90,则结果为:{10、20、30、50、60、80、100、120、200、500}
在 set 中每个元素只出现一次并且是有序的。元素的值在添加时不可修改,因此它是不可变的。但我们可以从中添加或移除元素。
我们可以使用 erase() 方法来完成此任务。
示例
#include<iostream> #include<set> using namespace std; void dispSet(set<int> myset) { set<int>::iterator it; for (it = myset.begin(); it != myset.end(); ++it) cout << ' ' << *it; cout << '\n'; } void deleteUsingValue(set<int> myset, int del_element) { cout << "Set before deletion:"; dispSet(myset); myset.erase(del_element); cout << "Set after deleting "<< del_element<< ": "; dispSet(myset); } int main() { set<int> tempSet; int arr[] = {10, 20, 30, 50, 60, 80, 90, 100, 120, 200, 500}; int n = sizeof(arr)/sizeof(arr[0]); for (int i = 0; i < n; i++) tempSet.insert(arr[i]); int del_element = 90; deleteUsingValue(tempSet, del_element); }
输出
Set before deletion: 10 20 30 50 60 80 90 100 120 200 500 Set after deleting 90: 10 20 30 50 60 80 100 120 200 500
广告