Mega Code Archive

 
Categories / C++ / Set Multiset
 

Assign elements to another multiset with ascending order

/* 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;     // assign elements to another multiset with ascending order     multiset<int> coll2(coll1.begin(),                         coll1.end());          // print all elements of the copy     copy (coll2.begin(), coll2.end(),           ostream_iterator<int>(cout," "));     cout << endl; }  /*  6 5 5 4 3 2 1 1 2 3 4 5 5 6  */