UVA 10815 Andy's First Dictionary ---set

题目链接

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

刘汝佳算法竞赛入门经典(第二版)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;
}

 

posted @ 2016-10-08 21:04  Ritchie丶  阅读(206)  评论(0编辑  收藏  举报