Set C++ lưu phần tử duy nhất, đã sắp xếp. Để xóa phần tử cuối (lớn nhất), dùng prev(end()) để lấy iterator rồi erase().
Ví dụ
#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);
auto it = prev(my_set.end());
my_set.erase(it);
cout << "\nSet after delete: ";
display(my_set);
}
Kết quả
Set before delete: 10 20 23 41 54 69 75 84 Set after delete: 10 20 23 41 54 69 75