集合:set

set 就是数学上的集合——每个元素最多只出现一次。和sort一样,自定义一个类型也可以构造set ,但是必须定义“小于”运算符。

例子:

      输入一个文本,找出所有不同的单词(连续的字母序列),按字典从小到大排序,然后输出,不区分大小写。

#include<iostream>
#include<sstream>
#include<string>
#include<set>
using namespace std;

set<string>dict;//建立一个叫“dict”的string 集合

int main()
{
 string s,buf;
 while(cin>>s)
 {
  for(int i=0;i<s.size();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++)//iterator的意思是迭代器,类似于指针。
 cout<<*it<<endl;
 return 0;
 }

原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/6486478.html