Uva 10815 c++ stl 之set 输入流
来源:互联网 发布:java构造方法的重载 编辑:程序博客网 时间:2024/05/24 01:09
题意
输入一个文本,找出所有不同的单词,按照字典序输出,单词不分大小写,单词数目<5000,输入以EOF结束。
解题思路
我们可以清晰地看到两个条件:1.按照字典序输出;2.单词不同。因此我们很容易想到使用set来求解,set容器保证所有的元素都不同,并且可以实现自动排序。
根据测试样例,我们使用输入流的方式更为简单,每次读取一个字符串,通过isalpha()函数判断每个字符是否为字母,再通过tolowe()函数使所有字母都变成小写字母。
代码
这里引用紫皮书上的代码,代码写得较为简单凝练;
#include <iostream>#include <cstring>#include <set>#include <sstream>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(set<string> :: iterator it = dict.begin() ; it != dict.end() ; it++) cout << *it << endl; return 0;}
0 0
- Uva 10815 c++ stl 之set 输入流
- C++STL之set
- C++STL之set容器
- C++STL之关联容器【map】【set】
- C++STL之Set集合容器
- [C++::STL]之set的用法
- 【STL】STL之set
- STL模板学习之set容器(C/C++)
- C++--STL---set容器
- UVa - 10815 - Andy's First Dictionary(STL - 集合set)
- UVA 10815 Andy's First Dictionary(stl,set)
- UVa 10815 Andy's First Dictionary 【STL】【set】
- uva-10815-Andy's First Dictionary-stl-set
- stl之set
- STL 应用之set
- STL容器之set
- STL之<set>
- STL之set
- oracle监听问题
- POJ 2892 Tunnel Warfare
- JDBC简单学生管理系统
- Mac 下 移动硬盘只读解决方案
- 坐标转换以及碰撞检测
- Uva 10815 c++ stl 之set 输入流
- HTML&CSS基础学习笔记1.25-input标签的选择文件和隐藏元素
- 汇编
- 我的WCF数据服务(三)胜利
- Android view之点赞容易,取消不易
- 编译工具链制作神器 - crosstool-ng
- js前台传递json字符串数组到后台有后台转换成list集合或其他格式的问题解决
- ZooKeeper常见问题整理
- 小红书安卓客户端技术演进之路