Computer >> Máy Tính >  >> Lập trình >> C ++

Cách xóa một phần tử khỏi Tập hợp bằng cách chuyển giá trị của nó trong C ++

Ở đây chúng ta sẽ xem cách xóa một phần tử khỏi tập hợp bằng cách chuyển giá trị làm đối số. Vì vậy, nếu tập hợp như {10, 20, 30, 50, 60, 80, 90, 100, 120, 200, 500} và chúng tôi muốn xóa 90, nó sẽ là:{10, 20, 30, 50, 60, 80, 100, 120, 200, 500}

Trong tập hợp, mỗi phần tử chỉ có thể xuất hiện một lần và chúng được sắp xếp. Giá trị của phần tử không thể được sửa đổi khi nó được thêm vào, vì vậy giá trị này là bất biến. Mặc dù chúng tôi có thể thêm hoặc xóa các phần tử khỏi nó.

Chúng ta có thể sử dụng phương thức xóa () để thực hiện tác vụ này.

Ví dụ

#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);
}

Đầu ra

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