Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 값을 전달하여 Set에서 요소를 삭제하는 방법

<시간/>

여기에서 값을 인수로 전달하여 집합에서 하나의 요소를 삭제하는 방법을 볼 것입니다. 따라서 집합이 {10, 20, 30, 50, 60, 80, 90, 100, 120, 200, 500}이고 90을 삭제하려는 경우 {10, 20, 30, 50, 60, 80, 100, 120, 200, 500}

집합에서 각 요소는 한 번만 발생할 수 있으며 배열됩니다. 요소의 값은 추가될 때 수정할 수 없으므로 변경할 수 없습니다. 요소를 추가하거나 제거할 수 있지만

이 작업을 수행하기 위해 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