算法入门经典:安迪的第一个字典

来源:互联网 发布:西安长臂猿网络 编辑:程序博客网 时间:2024/05/20 01:11
安迪的第一个字典(Andy's First Dictionary, UVa 10815)


前言:好好学习,天天向上。

问题:
输入一个文本,找出所有不同的字典(连续的字母序列),按字母序从小到大输出,单词不区分大小写。

样例输入:
Adventures in DisneylandTwo blondes were going to Disneyland when they came to a fork in theroad. The sign read: "Disneyland Left."So they went home.
样例输出:(省略一部分)
aadventuresblondescamedisneylandforkgoinghome

附上代码:
//P112   8.6//安迪的第一个字典#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]);elses[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;}


发现一篇介绍string和stringstream的博文,大家可以看看。
原创粉丝点击