Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Xóa phần tử cuối của set trong C++

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