如何从C ++中的集合中删除最后一个元素

假设我们在C ++中设置了一个STL。元素很少。我们必须删除该集合中的最后一个元素。因此,如果元素类似于[10,41,54,20,23,69,84,75],则集合将类似于[10 20 23 41 54 69 75 84],最后一个元素为84。我们将看到C ++代码从集合中删除最后一个元素。

示例

#include<iostream>
#include<set>
using namespace std;
void display(set<int> my_set){
   for (auto it = my_set.begin(); it != my_set.end(); ++it)
   cout << *it << " ";
}
int main() {
   int arr[] = {10, 41, 54, 20, 23, 69, 84, 75};
   int n = sizeof(arr)/sizeof(arr[0]);
   set<int> my_set;
   for(int i = 0; i<n; i++){
      my_set.insert(arr[i]);
   }
   cout << "Set before delete: ";
   display(my_set);
   set<int>::iterator it;
   it = prev(my_set.end());
   my_set.erase(it);
   cout << "\nSet after delete: ";
   display(my_set);
}

输出结果

Set before delete: 10 20 23 41 54 69 75 84
Set after delete: 10 20 23 41 54 69 75