• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++之路起航——标准模板库(set)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

    set(集合):http://baike.baidu.com/link?url=cb68AB-3qfEK8RoaGHJFClb4ZiWpJfc32lPOLtaNUrdxntFC738zCZsCiUlfAVRLds2aeNkgYCYCe_wdVB2TIa

    需要包括头文件<set>;

      定义:

           set<数据类型> 变量名;

       Eg:

           set<int> s;//定义了一个整型的集合s;

      基本操作(红色标识为常用操作): 

        s.begin() 返回指向第一个元素的迭代器

        s.clear() 清除所有元素

        s. count() 返回某个值元素的个数

        s.empty() 如果集合为空,返回true

        s.end() 返回指向最后一个元素的下一个迭代器

        s.equal_range() 返回集合中与给定值相等的上下限的两个迭代器

        s.erase() 删除集合中的元素

        s.find() 返回一个指向被查找到元素的迭代器//不太会用,据说为常用算法,下面代码解释中未提到该函数。

        s.get_allocator() 返回集合的分配器

        s.insert() 在集合中插入元素

        s.lower_bound() 返回指向大于(或等于)某值的第一个元素的迭代器

        s.key_comp() 返回一个用于元素间值比较的函数

        s.max_size() 返回集合能容纳的元素的最大限值

        s.rbegin() 返回指向集合中最后一个元素的反向迭代器

        s.rend() 返回指向集合中第一个元素的反向迭代器

        s.size() 集合中元素的数目

        swap() 交换两个集合变量

        s.upper_bound() 返回大于某个值元素的迭代器

        s.value_comp() 返回一个用于比较元素间的值的函数

     代码解释(为服务广大初学者,以后代码解释加汉语提示操作,不懂粘代码自己运行):

#include<set>
#include<cstdio>
#include<string>
#include<iostream>

using namespace std;

int main()
{
set<string> strset;//定义了一个为字符串型的集合strset;
strset.insert("a");//添加元素a;
strset.insert("b");//添加元素b;
strset.insert("c");//添加元素c;
strset.insert("d");//添加元素d;
strset.insert("a");//再添加元素a;
cout<<"集合基本操作:"<<endl;
cout<<"集合是否为空:";
if (strset.empty()) printf("YES\n");
else printf("NO\n");
set<string>::iterator ator=strset.begin();
cout<<"集合遍历:"<<endl;
for(;ator!=strset.end();ator++)
cout<<*ator<<endl;
cout<<"集合中a的个数:" ;
cout<<strset.count("a")<<endl;
cout<<"集合中z的个数:" ;
cout<<strset.count("z")<<endl;
string a;
cout<<"集合判重操作:"<<endl;
cin>>a;
if (strset.count(a)==1) printf("chong\n");//判断元素是否重。
else printf("buchong\n");
cout<<"集合去重操作:"<<endl;
cin>>a;
if (strset.count(a)==1) strset.erase(a);//将重元素去除。
ator=strset.begin();
cout<<"集合遍历:"<<endl;
for(;ator!=strset.end();ator++)
cout<<*ator<<endl;
cout<<"集合中元素个数:" ;
cout<<strset.size()<<endl;
cout<<"集合清0操作:"<<endl;
strset.clear();//清0;
cout<<"集合是否为空:";
if (strset.empty()/*判空*/) printf("YES\n");
else printf("NO\n");
return 0;
}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
JSONKitdoesnotsupportObjective-CAutomaticReferenceCounting(ARC)/ARCforbidsObject ...发布时间:2022-07-13
下一篇:
C++11中的initialize_list发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap