How to remove the last element from a set in C++

2 Answers

0 votes
#include <iostream>       
#include <set> 

void printSet(std::set<int> st) {
    for (auto n: st) {
        std::cout << n << ' ' ; 
    } 
    
    std::cout << "\n"; 
}
     
int main ()
{
    std::set<int> st;
     
    for (int i = 1; i <= 10; i++) {
        st.insert(i);
    }
   
    printSet(st); 
     
    st.erase(prev(st.end()));

    printSet(st); 
} 
        
        
        
/*
run:
        
1 2 3 4 5 6 7 8 9 10 
1 2 3 4 5 6 7 8 9 
     
*/

 



answered Apr 8, 2020 by avibootz
edited Dec 13, 2024 by avibootz
0 votes
#include <iostream>       
#include <set> 

void printSet(std::set<int> st) {
    for (auto n: st) {
        std::cout << n << ' ' ; 
    } 
    
    std::cout << "\n"; 
}
     
int main ()
{
    std::set<int> st;
     
    for (int i = 1; i <= 10; i++) {
        st.insert(i);
    }
   
    printSet(st); 
     
    st.erase(*st.rbegin());

    printSet(st); 
} 
       

        
/*
run:
        
1 2 3 4 5 6 7 8 9 10 
1 2 3 4 5 6 7 8 9 
     
*/

 



answered Dec 13, 2024 by avibootz

Related questions

1 answer 150 views
2 answers 135 views
135 views asked Oct 21, 2022 by avibootz
2 answers 230 views
1 answer 182 views
3 answers 414 views
2 answers 299 views
1 answer 175 views
...