⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex5_11.cpp

📁 C++的一些原代码
💻 CPP
字号:
/* Code for exercise 5.11.
 | 
 | "C++ Solutions--Companion to The C++ Programming Language, Third Edition"
 | by David Vandevoorde; Addison-Wesley 1998; ISBN 0-201-30965-3.
 |
 | Permission to use, copy, modify, distribute and sell this software
 | and its documentation for any purpose is hereby granted without fee.
 | The author makes no representations about the suitability of this
 | software for any purpose.  It is provided "as is" without express or
 | implied warranty.
 `----------------------------------------------------------------------*/

#include <algorithm>
#include <iostream.h>
#include <list>
#include <set>
#include <string>

int main() {
   using std::copy;
   using std::cout;
   using std::ostream_iterator;
   using std::pair;
   using std::string;
   typedef std::set<string> WordSet;
   typedef WordSet::iterator WordIter;
   typedef std::list<WordIter> Index;
   WordSet words;
   Index input_order;
   // Input the words uniquely
   for(string new_word;
       cin >> new_word, new_word!="Quit";) {
      pair<WordIter, bool> const &trace = words.insert(new_word);
      if (trace.second)
         input_order.push_back(trace.first);
   }
   // Output unique words in order of input:
   cout << "\n>>> Unique words in input order:\n";
   for (Index::iterator p = input_order.begin(); p!=input_order.end(); ++p) {
      cout << *(*p) << '\n';
   }
   // Output unique words in default set<string> order:
   cout << "\n>>> Unique words in sorted order:\n";
   copy(words.begin(), words.end(),
        ostream_iterator<string>(cout, "\n"));
   return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -