// 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 #include <iostream> #include <string> #include <algorithm> #include <set> using namespace std; int main() { /* create a string set * - initialized by all words from standard input */ set<string> coll((istream_iterator<string>(cin)), (istream_iterator<string>())); // print all elements copy (coll.begin(), coll.end(), ostream_iterator<string>(cout, "\n")); } // 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 #include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std; int main() { /* create a string vector * - initialized by all words from standard input */ vector<string> coll((istream_iterator<string>(cin)), (istream_iterator<string>())); // sort elements sort (coll.begin(), coll.end()); // print all elements ignoring subsequent duplicates unique_copy (coll.begin(), coll.end(), ostream_iterator<string>(cout, "\n")); } // 150.000 string: vector solution is better with 10% // + reserve: 15% // multiset + copy: 40%