uva 10815 set的学习

只为学习set 的用法,set就是数学上集合,每个元素只出现一次。和sort一样,所有类型都可以,但是必须定义小于运算符。

 1 #include <cstdio>
 2 #include <string>
 3 #include <set>
 4 #include <cctype>
 5 #include <iostream>
 6 #include <sstream>
 7 using namespace std;
 8 set<string> dict;
 9 
10 
11 int main()
12 {
13     string s,buf;
14     while(getline(cin ,s))
15     {
16         //dict.clear();
17         for(int i=0;i<s.length();i++)
18             if(isalpha(s[i]))
19             s[i]=tolower(s[i]);
20         else
21             s[i]=' ';
22         stringstream ss(s);
23         while(ss>>buf)
24             dict.insert(buf);    
25     
26     for(set<string>::iterator it=dict.begin();it!=dict.end();it++)
27         cout << *it <<endl;
28     }
29     return 0;
30 }

count()函数--统计set中某一个元素的个数。

lower_bound和upper_bound函数返回set中元素下界和上届的迭代器

getline()是定义在<string>头文件中,功能是取一行字符串,读到换行符r结束,并且抛弃换行符,如果需要读取字符,则接着下一行读取。

getline(cin,str);第一个参数是输入流对象,第二个参数是字符串对象,该函数将istream参数作为返回值。如while(getline(cin, line))

原文地址:https://www.cnblogs.com/WDKER/p/5473468.html