题意:输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出。单词不区分大小写。
刘汝佳算法竞赛入门经典(第二版)P112
#include <iostream> #include <string> #include <set> #include <sstream> using namespace std; set<string> dict;//string集合 int main() { string s,buf; while(cin>>s) { for(int i=0; i<s.length(); i++) if(isalpha(s[i])) s[i]=tolower(s[i]); else s[i]=' '; stringstream ss(s); while(ss>>buf) dict.insert(buf); } for(set<string>::iterator it= dict.begin();it!=dict.end();it++) cout<<*it<<endl; return 0; }