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

全网营销型网站建设模板宁波网站建设服务

全网营销型网站建设模板,宁波网站建设服务,外包网站建设,定制设计网站公司文章目录测试环境multiset介绍头文件模块类定义对象构造初始化元素访问元素插入和删除元素查找容器大小迭代器其他函数测试环境 系统#xff1a;ubuntu 22.04.2 LTS 64位 gcc版本#xff1a;11.3.0 编辑器#xff1a;vsCode 1.76.2 multiset介绍 关联式容器。元素是唯一的… 文章目录测试环境multiset介绍头文件模块类定义对象构造初始化元素访问元素插入和删除元素查找容器大小迭代器其他函数测试环境 系统ubuntu 22.04.2 LTS 64位 gcc版本11.3.0 编辑器vsCode 1.76.2 multiset介绍 关联式容器。元素是唯一的即是值又是键。元素不能直接修改需要先删除在插入。支持双向迭代器。在插入、删除和搜索时间复杂度为log(n)。 头文件 #include set模块类定义 template typename _Key, typename _Compare std::less_Key, typename _Alloc std::allocator_Key class multiset{};_Key表示存储的键(值)数据类型 _Compare表示按照键的排序方式。 _Alloc表示所存储分配器的类型负责元素内存的分配和释放。可选参数一般不使用。 对象构造 /*默认构造函数*关联容器和容器适配器。*/ std::multisetint multiSet1; /*构造一个set指定排序方式*/ std::multisetint multiSet2(std::lessint()); /*拷贝构造函数*/ std::multisetint multiSet3(multiSet1); /*移动构造函数*/ std::multisetint multiSet4(std::move(multiSet1)); /*初始化列表*/ std::multisetint multiSet5({5,4,3,2,1}); /*初始化列表排序方式*/ std::multisetint multiSet6({5,4,3,2,1}, std::lessint()); /*迭代器指定范围构造*/ std::multisetint multiSet7(multiSet6.begin(),multiSet6.end()); /*迭代器指定范围排序方式*/ std::multisetint multiSet8(multiSet7.begin(), multiSet7.end(), std::lessint());初始化 /*初始化列表初始化元素*/ multiSet1 {1,3,5,4,2};元素访问 不支持at()函数和下标运算符访问元素 元素插入和删除 函数返回值功能clear()无清空所有元素erase()迭代器或删除元素数量清除指定位置的一个元素、通过迭代器指定范围内的元素或通过键删除值emplace()迭代器直接构造一个元素并插入集合中。emplace_hint()迭代器在指定的位置插入元素。insert()键值对、迭代器、无1直接插入一个元素。2在指定位置插入1个元素。3复制通过迭代器指定范围的元素。4通过初始化列表插入元素。 multiSet1 {2,2,3,1,1,5,6,6,2}; /*直接构造并插入元素*/ std::multisetint::iterator itr1 multiSet1.emplace(10); std::cout itr1 value is *itr1std::endl; /*直接构造元素并插入指定位置*/ std::multisetint::iterator itr2 multiSet1.emplace_hint(multiSet1.begin(),8); std::cout itr2 value is *(itr2)std::endl; /*使用移动语句在指定位置插入元素*/ int iValue 10; std::multisetint::iterator itr3 multiSet1.emplace_hint(multiSet1.begin(),iValue); std::cout itr3 value is *(itr3)std::endl; /*插入元素*/ std::multisetint::iterator itr4 multiSet1.insert(8); std::cout itr4 value is *(itr4)std::endl; /*使用移动函数插入元素,使用移动语句后iValue1不要再使用*/ int iValue1 7; std::multisetint::iterator itr5 multiSet1.insert(std::move(iValue1)); std::cout itr5 value is *(itr5)std::endl; /*指定位置插入元素*/ std::multisetint::iterator itr6 multiSet1.insert(multiSet1.begin(), 12); std::cout itr6 value is *(itr6)std::endl; /*使用移动函数在指定位置插入元素*/ int iValue2 13; std::multisetint::iterator itr7 multiSet1.insert(--multiSet1.end(), std::move(iValue2)); std::cout itr7 value is *(itr7)std::endl; /*使用迭代器插入元素*/ multiSet1.insert(multiSet5.begin(), --multiSet5.end()); /*使用初始化列表插入元素*/ multiSet1.insert({1,2,5,4,8,3}); /*按值删除元素*/ int iDelCnt multiSet1.erase(2); std::cout delete value count iDelCnt std::endl; /*删除指定位置的元素*/ std::multisetint::iterator itr8 multiSet1.erase(multiSet1.begin()); std::cout itr8 value is *(itr8)std::endl; /*删除指定范围的元素*/ std::multisetint::iterator itr9 multiSet1.erase(multiSet1.begin(), --multiSet1.end()); std::cout itr9 value is *(itr9) std::endl; /*清空元素*/ multiSet1.clear();元素查找 函数返回值功能count()std::size_t返回给定键对应元素的数量find()迭代器查找指定键对应元素的位置,未找到则返回end()lower_bound()迭代器查找第一个大于或等于给定键的元素的位置,未找到则返回end()upper_bound()迭代器查找第一个大于给定键的元素的位置未找到返回end()equal_range()键值对获取给定键的lower_bound和upper_bound键值对的第一个元素表示lower_bound,第二个元素表示upper_bound multiSet1 {1,1,2,2,3,4,5,6,6,8}; /*查找指定值的数量*/ std::cout count: multiSet1.count(2) std::endl; /*查找指定值的位置*/ std::multisetint::iterator itr10 multiSet1.find(6); std::cout itr10 value is *(itr10) std::endl; /*查找第一个大于等于给定键的元素的位置*/ std::multisetint::iterator itr11 multiSet1.lower_bound(3); std::cout itr11 value is *(itr11)std::endl; /*查找第一个大于给定键的元素的位置*/ std::multisetint::iterator itr12 multiSet1.upper_bound(6); std::cout itr12 value is *(itr12)std::endl; /*分别返回lower_bound和upper_bound*/ std::pairstd::multisetint::iterator, std::multisetint::iterator pair multiSet1.equal_range(1); std::cout lower_bound value:*(pair.first)std::endl; std::cout upper_bound value:*(pair.second)std::endl;容器大小 函数返回值功能size()std::size_t获取当前容器中的元素数量empty()bool判断当前容器是否为空为空返回true否则返回falsemax_size()std::size_t返回容器的最大容量 /*判断元素的数量*/ std::coutmultiSet1 size is multiSet1.size()std::endl; /*判断容器最大能容纳的元素的数量*/ std::cout multiSet1 max size is : multiSet1.max_size()std::endl; /*判断容器是否为空*/ std::cout multiSet1 is empty ? std::boolalphamultiSet1.empty()std::endl;迭代器 类型功能iterator正向访问迭代器。从前向后访问元素可以读取也可以修改const_iterator常量正向访问迭代器。从前向后访问元素只能读取不能修改reverse_iterator逆向访问迭代器。从后向前访问元素可以读取也可以修改const_reverse_iterator常量逆向访问迭代器。从后向前访问元素只能读取不能修改 函数返回值功能begin()正向访问迭代器返回指向set对象首元素所在位置的迭代器end()正向访问迭代器返回指向set对象末尾元素的下一个位置的迭代器cbegin()常量正向访问迭代器返回指向set对象首元素所在位置的常量迭代器cend()常量正向访问迭代器返回指向set对象末尾元素的下一个位置的迭代器rbegin()逆向访问迭代器返回指向set对象末尾元素位置的迭代器rend()逆向访问迭代器返回指向set对象首元素的前一个位置的迭代器crbegin()常量逆向访问迭代器返回指向set对象末尾元素位置的常量迭代器crend()常量逆向访问迭代器返回指向set对象首元素的前一个位置的常量迭代器 std::multisetint multisetTest({1,8,2,6,4,5,8,10,2,7}); /*正向随机访问迭代器并打印输出1 2 2 4 5 6 7 8 8 10*/ std::setint::iterator itr; for (itr multisetTest.begin(); itr ! multisetTest.end(); itr) {/* 不允许修改元素值 *///*itr 10; /* 访问元素 */std::cout*(itr) ; } std::coutstd::endl; /*常量正向随机访问迭代器并打印输出1 2 2 4 5 6 7 8 8 10*/ std::setint::const_iterator cItr; for (cItr multisetTest.cbegin(); cItr ! multisetTest.cend(); cItr) {/* 不允许修改值编译报错 *///*cItr 10; /* 访问元素 */std::cout *(cItr) ; } std::coutstd::endl; /*逆向随机访问迭代器并打印输出10 8 8 7 6 5 4 2 2 1*/ std::setint::reverse_iterator rItr; for (rItr multisetTest.rbegin(); rItr! multisetTest.rend(); rItr) {/* 不允许修改元素值 *///*rItr 100; /* 访问元素 */std::cout *(rItr); } std::coutstd::endl;/*常量逆向随机访问迭代器并打印输出10 8 8 7 6 5 4 2 2 1*/ std::setint::const_reverse_iterator crItr; for (crItr multisetTest.crbegin(); crItr! multisetTest.crend(); crItr) {/* 不允许修改元素值 编译报错 *///*crItr 100; /* 访问元素 */std::cout *crItr; } std::cout std::endl;其他函数 函数名返回值功能swap()无交换两个容器的元素 /*交互两个容器元素的值,无返回值*/ std::multisetint multisetSwap1 {1,2,3,4,3}; std::multisetint multisetSwap2 {6,7,8,6,10}; /*方式1 multisetSwap1{6,6,7,8,10}, multisetSwap2{1,2,3,3,4}*/ multisetSwap1.swap(multisetSwap2); std::cout multisetSwap1: std::endl; for (auto item : multisetSwap1) {std::cout item; } std::cout std::endl multisetSwap2: std::endl; for (auto item : multisetSwap2) {std::cout item; } /*multisetSwap1{1,2,3,3,4}, multisetSwap2{6,6,7,8,10}*/ std::swap(multisetSwap1,multisetSwap2); std::cout std::endl multisetSwap1: std::endl; for (auto item : multisetSwap1) {std::cout item; } std::cout std::endl multisetSwap2: std::endl; for (auto item : multisetSwap2) {std::cout item; }
http://www.w-s-a.com/news/459058/

相关文章:

  • 企业网站建设与网络营销的关系网页qq音乐在线听
  • 网站如何制作学校的做做代销的网站
  • 灌云网站建设维护常州市天宁区建设局网站
  • 广州中小企业网站建设网络营销平台的类型
  • 做非遗网站的原因wordpress ip 插件
  • 微信企业网站 源码下载wordpress 4.9.5 太卡
  • 湖北网站建设公司哪家好房地产最新政策调整
  • 重庆建设岗位培训网站今天重大新闻乌克兰
  • 流水线 东莞网站建设如何在网上销售产品
  • 哪些做图片赚钱的网站网站建设销售业绩任务
  • 建立网站 知乎如何做网站的图片滑动块
  • 国外做珠宝的网站有哪些滨湖区建设局官方网站
  • 关于中国幼教网站开发的经验中国建设银行晋中分行网站
  • 挪威网站后缀如何外贸网络推广
  • 外汇交易网站开发仟亿家设计软件好吗亿家
  • 专门教做甜品的网站郑州高新区建设环保局网站
  • 建站公司怎么获客网站建设全网营销
  • 黄石做网站的公司html免费网站模板
  • 做个商城网站怎么做便宜优酷视频网站源码
  • 网站侧边栏导航代码泰兴市住房和建设局网站
  • html网站登录界面模板确定建设电子商务网站目的
  • wordpress 多站点迁移三台网站seo
  • 工信部网站备案文件好网站建设公司地址
  • 怎么做app和网站购物网站单页面怎么做的
  • 西宁专业做网站教育网站建设策划书
  • 个人网站域名怎么起网站建设业务好跑吗
  • 网页设计的网网页设计的网站企业网站怎样做优化
  • 论文中小企业的网站建设域名网站空间
  • 宿迁网站建设联系电话现在出入邯郸最新规定
  • 男女做羞羞的事情网站30岁转行做网站编辑