当前位置: 首页 > wzjs >正文

国家工程建设信息网站汕头百度网站排名

国家工程建设信息网站,汕头百度网站排名,唐山免费网站制作,山东兴华建设集团网站set/multiset 前言set/multiset容器一.set构造和赋值和删除二.set容器的大小与交换三.set容器的查找与统计四.set与multiset容器的区别 前言 stl系列主要讲述有关stl的文章,使用STL可以大大提高程序开发的效率和代码的可维护性,且在算法比赛中&#xff0…

set/multiset

  • 前言
  • set/multiset容器
    • 一.set构造和赋值和删除
    • 二.set容器的大小与交换
    • 三.set容器的查找与统计
    • 四.set与multiset容器的区别

前言

stl系列主要讲述有关stl的文章,使用STL可以大大提高程序开发的效率和代码的可维护性,且在算法比赛中,STL可以帮助我们更方便地实现各种算法。提高我们的效率。

set/multiset容器

要使用set/multiset要头文件set

set/multiset(集合/多重集)属于关联式容器,底层结构使用二叉树实现的
set/multiset的特点是:所有的元素在插入时会被自动排序
set/multiset的区别是:set容器不允许有重复的元素,而multiset容器允许有重复的数据

一.set构造和赋值和删除

set<int> s1;//建立一个空集合
s1.insert(3);//加入元素3
s1.insert(4);
s1.insert(1);
s1.insert(9);
s1.insert(0);
s1.insert(3);
for (auto i = s1.begin(); i != s1.end(); i++) {//遍历元素cout << *i << " ";
}
cout << "\n";
//因为已经被排好序所以输出为从大到小
set<int> s2 = s1;//将s1复制给s2
for (auto i = s2.begin(); i != s2.end(); i++) {cout << *i << " ";
}
cout << "\n";set<int> s3(s2);//将s2复制给s3
s1.insert(3);
for (auto i = s3.begin(); i != s3.end(); i++) {cout << *i << " ";
}
cout << "\n";
s3.erase(s3.begin());//删除第一个元素
s3.erase(3);//删除元素3
s3.erase(s3.begin(), s3.end());//删除所有元素
s2.clear();//清除所有元素

二.set容器的大小与交换

s1.size();//返回容器中的元素个数
s2.empty();//判断容器是否为空
s3.swap(s4);//交换两个集合容器,数据类型相同才行

三.set容器的查找与统计

s1.find(n);//查找元素n是否存在如果存在就返回该元素的迭代器,若不存在就返回set.end()
s2.count(n);//统计n的个数,因为set中不能重复所以只能为0或1
set<int>::iterator pos = s1.find(99);
if (pos != s1.end()) {cout << "找到了" << endl;
}
else {cout << "未找到" << endl;
}

四.set与multiset容器的区别

1.muitise是set集合容器的一种,其拥有set的全部内容,在此基础上,multiset还具备了可以保存可以重复保存元>素的功能,因此会有略微和set的差别
2.multiset容器在执行insert()时只要数据不是非法数据和空数据,insert()就总能执行,无论是一个数据还是一段数据
3.multiset容器中的find()等函数会返回和参数匹配的第一个元素的迭代器,即使存在多个元素也只是返回第一个

#include<iostream>
#include<set>
using namespace std;int main() {multiset<int> s1;s1.insert(3);s1.insert(4);s1.insert(1);s1.insert(9);s1.insert(0);s1.insert(3);for (auto i = s1.begin(); i != s1.end(); i++) {cout << *i << " ";}cout << "\n";multiset<int> s2 = s1;for (auto i = s2.begin(); i != s2.end(); i++) {cout << *i << " ";}cout << "\n";multiset<int> s3(s2);s1.insert(3);for (auto i = s3.begin(); i != s3.end(); i++) {cout << *i << " ";}cout << "\n";cout << *s1.find(1) << endl;//这样是找不到的,这样找出来的是元素不是而不是位置int a = 1;//记录位置从1开始for (multiset<int>::iterator i = s1.begin(); i != s1.find(1); i++, a++);cout << a << endl;return 0;
}
http://www.dtcms.com/wzjs/454575.html

相关文章:

  • 长春疫情最新情况最新消息今天中国网络优化公司排名
  • 仿网站建设win优化大师有免费版吗
  • 网站开发书百度云北京百度推广代运营
  • 动态网站设计报告seo代运营
  • 建设工程项目管理信息门户网站seo在线培训
  • 网站代理备案步骤pc网站优化排名
  • 象山专业网站建设网络营销方案的范文
  • 谁能帮忙做网站备案seo一键优化
  • 做博客网站的php代码线上营销工具
  • 赣州企业网络搭建谷歌seo怎么做
  • 东莞做微网站建设google关键词
  • 客户评价 网站建设seo实战密码第三版
  • 龙岩网站报价快速网络推广
  • 发布网站建设需求的经验兰州seo培训
  • 怎样把在本地安装好的wordpress上传到服务器优化大师免安装版
  • 网站建设ppt希爱力5mg效果真实经历
  • 网加做网站推广英文seo外链
  • 桥 网站建设自己做网站如何赚钱
  • 网站建设套餐介绍sem公司
  • 石家庄站内换乘图解湖南有实力seo优化哪家好
  • 林业网站模板公司官网搭建
  • 网站架构设计文档艾滋病多久可以查出来
  • 国家企业信息公示系统官网河南北京seo招聘网
  • wordpress新评论提醒网站建设优化哪家公司好
  • 普通网站能不能用vue做几个小功能怎么找拉新推广平台
  • 哪个网站做美食好一点如何做百度竞价推广
  • 宜宾网站建设网站如何建立公司网站网页
  • 苏州seo网站优化软件谷歌seo什么意思
  • 新站网站推广该如何做广州seo服务外包
  • 天府新区规划建设国土局网站洛阳搜索引擎优化