输入一段文字,将其中的所有单词按照字典序输出,要求单词均以小写形式输出,不出现重复单词。
#includeusing namespace std; int main(){ string s,buf; set d; while(cin>>s){ for(int i=0;i >buf) d.insert(buf); } for(set ::iterator it=d.begin();it!=d.end();it++) cout<<*it< 这道题出现了两个新知识点:一是stringstream,二是迭代器iterator。
1. 关于stringstream:字符串流输入输出。
常见用法:
(1)将一个字符串按照空格、制表符、回车分隔开。如:
string s="Hello world!"; stringstream ss(s); string buf; while(ss>>buf) cout<运行结果:
Hello
world!
2.关于迭代器iterator
要访问顺序容器和关联容器中的元素,需要通过“迭代器(iterator)”进行。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。迭代器可以指向容器中的某个元素,通过迭代器就可以读写它指向的元素。从这一点上看,迭代器和指针类似。
通过对一个迭代器的解引用操作(*),可以访问到容器所包含的元素。



