Andy's First Divtionary id:10815

来源:互联网 发布:唐凤 知乎 编辑:程序博客网 时间:2024/05/16 17:51

分析:

题目本身很简单,关键是利用STL中的set,即可轻松解决该问题。

set即集合,其中不允许有重复的元素存在

常见的set操作如下:(set<int> s)

插入元素:s.insert(15)

删除元素:s.erase(15)或者s.clear()

查找元素:s.find(15)

这三个只是最基本的操作,注意查找元素时返回的是迭代器的位置,如果集合中没有该元素,则返回集合最后一位后面的位置。


AC代码如下,基本照搬RuJia:

#include <iostream>#include <set>#include <string>#include <sstream>using namespace std;set<string> words;int main(){    string str, s;    while(cin >> str) {        for(int i = 0; i < str.length(); i++)            if(isalpha(str[i]))     str[i] = tolower(str[i]);            else                         str[i] = ' ';        stringstream ss(str);        while(ss >> s)            words.insert(s);    }    for(set<string> :: iterator it = words.begin(); it != words.end(); it++)        cout << * it << "\n";    return 0;}


0 0
原创粉丝点击