首页 > 学院 > 开发设计 > 正文

set关联容器

2019-11-14 12:13:57
字体:
来源:转载
供稿:网友

题目描述

编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。

输入描述:

输入N个字符,字符在ACSII码范围内。

输出描述:

输出范围在(0~127)字符的个数。

输入例子:
abc
输出例子:
3
#include<iostream>#include<set>using namespace std;int main(){    char c;    set<char> s;  //set不存在重复的元素(利用二叉树存储)    while(cin>>c){        if(c>=0 && c<=127){            s.insert(c);        }    }    cout << s.size() <<endl;}set中常见用法:

begin()        ,返回set容器的第一个元素

end()      ,返回set容器的最后一个元素

clear()          ,删除set容器中的所有的元素

empty()    ,判断set容器是否为空

max_size()   ,返回set容器可能包含的元素最大个数

size()      ,返回当前set容器中的元素个数

rbegin     ,返回的值和end()相同

rend()     ,返回的值和rbegin()相同

erase(iterator)  ,删除定位器iterator指向的值

erase(first,second),删除定位器first和second之间的值

erase(key_value),删除键值key_value的值

count() 用来查找set中某个某个键值出现的次数。这个函数在set并不是很实用,因为一个键值在set只可能出现0或1次,这样就变成了判断某一键值是否在set出现过了。
find()  ,返回给定值值得定位器,如果没找到则返回end()(迭代器)。

insert(key_value); 将key_value插入到set中 ,返回值是pair<set<int>::iterator,bool>,bool标志着插入是否成功,而iterator代表插入的位置,若key_value已经在set中,则iterator表示的key_value在set中的位置。

inset(first,second);将定位器first到second之间的元素插入到set中,返回值是void.


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表