set的运用 例题5-3 安迪的第一个字典(Andy's First Dictionary,Uva 10815)
#include<bits/stdc++.h>
using namespace std;
set<string> dict;
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(auto it = dict.begin();it != dict.end();it++)
cout << *it << endl;
}
while(cin >> s) 一个个字符的从屏幕中读入s1
然后for循环遍历s1 每一个大写的字母都变成小写(利用tolower函数) “ : 之类的符号就变成空格 不然就把符号也输出来了
然后定义一个stringstream ss(s) 自动让s流入 再让ss 流入string buf中 这样达到一个一个单词输入的目的 每输入一个单词就把那个单词insert到set里面
由于set会自动按照字符序排号 所以利用迭代器输出set即可

浙公网安备 33010602011771号