Mega Code Archive

 
Categories / C++ Tutorial / Set Multiset
 

Insert 4 again to an integer set and process return value

/* The following code example is taken from the book  * "The C++ Standard Library - A Tutorial and Reference"  * by Nicolai M. Josuttis, Addison-Wesley, 1999  *  * (C) Copyright Nicolai M. Josuttis 1999.  * Permission to copy, use, modify, sell and distribute this software  * is granted provided this copyright notice appears in all copies.  * This software is provided "as is" without express or implied  * warranty, and with no claim as to its suitability for any purpose.  */ #include <iostream> #include <set> #include <algorithm> #include <iterator> using namespace std; int main() {     /* type of the collection:      * - duplicates allowed      * - elements are integral values      * - descending order      */     typedef multiset<int,greater<int> > IntSet;     IntSet coll1;        // empty multiset container     // insert elements in random order     coll1.insert(4);     coll1.insert(3);     coll1.insert(5);     coll1.insert(1);     coll1.insert(6);     coll1.insert(2);     coll1.insert(5);     // iterate over all elements and print them     IntSet::iterator pos;     for (pos = coll1.begin(); pos != coll1.end(); ++pos) {         cout << *pos << ' ';     }     cout << endl;     // insert 4 again and process return value     IntSet::iterator ipos = coll1.insert(4);     cout << "4 inserted as element "          << distance(coll1.begin(),ipos) + 1          << endl; } 6 5 5 4 3 2 1 4 inserted as element 5