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

Paas网站建设界面设计分析

Paas网站建设,界面设计分析,ps临摹图片做网站的图片犯法吗,自己电脑做服务器搭网站【STL十】关联容器——set容器、multiset容器一、set简介二、头文件三、模板类四、set的内部结构五、成员函数1、迭代器2、元素访问3、容量4、修改操作~~5、操作~~5、查找6、查看操作六、demo1、查找find2、修改操作insert3、修改操作erase、clear七、multisetset和multiset会根… 【STL十】关联容器——set容器、multiset容器一、set简介二、头文件三、模板类四、set的内部结构五、成员函数1、迭代器2、元素访问3、容量4、修改操作~~5、操作~~5、查找6、查看操作六、demo1、查找find2、修改操作insert3、修改操作erase、clear七、multisetset和multiset会根据特定的排序准则自动将元素排序。两者不同之处在于multiset允许元素重复而set不允许。如下图 一、set简介 和 map、multimap 容器不同使用 set 容器存储的各个键值对要求键 key 和值 value 必须相等。map、multimap 容器都会自行根据键的大小对存储的键值对进行排序set 容器也会如此只不过 set 容器中各键值对的键 key 和值 value 是相等的根据 key 排序也就等价为根据 value 排序。使用 set 容器存储的各个元素的值必须各不相同。更重要的是从语法上讲 set 容器并没有强制对存储元素的类型做 const 修饰即 set 容器中存储的元素的值是可以修改的。但是C 标准为了防止用户修改容器中元素的值对所有可能会实现此操作的行为做了限制使得在正常情况下用户是无法做到修改 set 容器中元素的值的。 对于初学者来说切勿尝试直接修改 set 容器中已存储元素的值这很有可能破坏 set 容器中元素的有序性最正确的修改 set 容器中元素值的做法是先删除该元素然后再添加一个修改后的元素。 二、头文件 #includeset三、模板类 template class T, // 键 key 和值 value 的类型class Compare lessT, // 指定 set 容器内部的排序规则class Alloc allocatorT // 指定分配器对象的类型 class set;四、set的内部结构 set/multiset通常以平衡二叉树完成(balanced binary tree)如下图 自动排序的主要优点在于令二叉树于查找元素时拥有良好效能。其查找函数具有对数复杂度。在拥有 1000 个元素的 set 或 multiset 中查找元素二叉树查找动作由成员函数执行的平均时间为线性查找由STL 算法执行的 1/50。 但是自动排序造成 set 和 multiset 的一个重要限制你不能直接改变元素值因为这样会打乱原本正确的顺序。 因此要改变元素值必须先删除旧元素再插入新元素。以下接口反映了这种行为: Set 和 multiset 不提供任何操作函数可以直接访问元素。通过迭代器进行元素间接访问有一个限制从迭代器的角度看元素值是常量。 五、成员函数 1、迭代器 成员函数功能begin()同array容器end()同array容器rbegin()同array容器rend()同array容器cbegin()同array容器cend()同array容器crbegin()同array容器crend()同array容器 2、元素访问 成员函数功能operator[]同array容器at(n)同array容器front()同array容器back()同array容器data()同array容器 3、容量 成员函数功能size()同array容器max_size()同array容器empty()同array容器reserve同vector容器capacity同vector容器shrink_to_fit同vector容器 4、修改操作 成员函数功能clear()同vector容器insert()同vector容器insert_or_assign(C17)插入元素或若键已存在则赋值给当前元素emplace()同vector容器emplace_hint()在本质上和 emplace() 在 map 容器中构造新键值对的方式是一样的不同之处在于使用者必须为该方法提供一个指示键值对生成位置的迭代器并作为该方法的第一个参数。try_emplace(C17)若键不存在则原位插入若键存在则不做任何事erase()同vector容器push_back()同vector容器emplace_back()同vector容器pop_back()同vector容器push_front()同vector容器emplace_front()同vector容器pop_front()同vector容器resize()同vector容器swap()同vector容器extract(C17)从另一容器释出结点merge(C17)从另一容器接合结点 5、操作 成员函数功能merge()list容器splice()list容器remove(val)list容器remove_if()list容器reverse()list容器unique()list容器sort()list容器 5、查找 成员函数功能count(key)同map容器find(key)同map容器contains (C20)同map容器equal_range(key)同map容器lower_bound(key)同map容器upper_bound(key)同map容器 6、查看操作 成员函数功能key_comp同map容器value_comp同map容器 六、demo 1、查找find 返回值 指向键等于 key 的元素的迭代器。若找不到这种元素则返回尾后见 end() 迭代器。 #include iostream #include string // string #includeset using namespace std; int main() {set string myset{小b,小c,小a,小d,};auto ite myset.find(小d);cout find *ite endl;for (auto iter myset.begin(); iter ! myset.end(); iter) {cout *iter endl;}return 0; } 输出 find 小d 小a 小b 小c 小d 2、修改操作insert 返回值 lower_bound指向首个不小于 key 的元素的迭代器。若找不到这种元素则返回尾后迭代器upper_bound指向首个大于 key 的元素的迭代器。若找不到这种元素则返回尾后迭代器 正常场景 #include iostream #include string // string #includeset using namespace std; int main() {set string myset{小b,小c,小a,小d,};auto ite myset.insert(小e);cout *(ite.first) ite.second endl;setstring set2;set2.insert(myset.begin(), myset.end());for (auto iter set2.begin(); iter ! set2.end(); iter) {cout *iter endl;}return 0; }输出 小e 1 小a 小b 小c 小d 小e 3、修改操作erase、clear erase set 类模板中erase() 方法有 3 种语法格式分别如下 //删除 set 容器中值为 val 的元素 size_type erase (const value_type val); //删除 position 迭代器指向的元素 iterator erase (const_iterator position); //删除 [first,last) 区间内的所有元素 iterator erase (const_iterator first, const_iterator last);demo #include iostream #includeset using namespace std; int main() {set int myset{ 1,2,3,4,5 };int num myset.erase(2);cout num num endl;cout myset.size myset.size() endl endl;setint::iterator ite myset.erase(myset.begin());cout ite *ite endl;cout myset.size myset.size() endl endl;setint::iterator ite2 myset.erase(myset.begin(),--myset.end());cout ite *ite2 endl;cout myset.size myset.size() endl;return 0; }输出 num 1 myset.size 4 ite 3 myset.size 3 ite 5 myset.size 1 clear 语法格式如下 void clear();显然该方法不需要传入任何参数也没有任何返回值。 #include iostream #includeset using namespace std; int main() {set int myset{ 1,2,3,4,5 };cout myset.size myset.size() endl;myset.clear();cout myset.size myset.size() endl;return 0; }输出 myset.size 5 myset.size 0 七、multiset 和set 容器不同的是multiset 容器可以存储多个值相同的元素。 模板类 template class T, // 存储元素的类型class Compare lessT, // 指定容器内部的排序规则class Alloc allocatorT // 指定分配器对象的类型 class multiset;demo #include iostream #include set using namespace std; int main() {std::multisetint mymultiset{ 1,2,2,2,3,4,5 };cout multiset size mymultiset.size() endl;cout multiset count(2) mymultiset.count(2) endl;//删除容器中所有值为 2 的元素int num mymultiset.erase(2);cout 删除了 num 个元素 2 endl;//输出容器中存储的所有元素for (auto iter mymultiset.begin(); iter ! mymultiset.end(); iter) {cout *iter ;}return 0; } 输出 multiset size 7 multiset count(2) 3 删除了 3 个元素 2 1 3 4 5 参考 1、C STL 容器库 中文文档 2、STL教程C STL快速入门 3、https://www.apiref.com/cpp-zh/cpp/header.html 4、https://en.cppreference.com/w/cpp/container
http://www.tj-hxxt.cn/news/142610.html

相关文章:

  • 网站怎么做关键词流量秀洲区住房和城乡建设局网站
  • c 网站开发 环境配置小米发布会时间2022
  • 网站建设类型的好处福建省建设职业注册资格管理中心网站
  • 展馆网站建设wordpress加cnzz统计在那里加
  • 给人做网站赚钱上海网站建设内容更新
  • 网站实现如何用社交网站开发客户
  • 教做蛋糕的网站龙华网站建设专业公司
  • 网站模板制作与安装教程郴州网站建设公司哪个好
  • 最好的网站建设公司有哪些什么网站做视频赚钱
  • 怎么改网站模板2022年中国电商行业分析报告
  • 做公司门户网站的重点做的好的淘宝客网站
  • 小型IT网站开发公司网站建立公司 优帮云
  • 适合学生做的微商代理南昌网站排名优化费用
  • 免费的行情网站推荐大全如何做分销型网站
  • led照明企业网站模板微信手机网站建设
  • 电影网站开发视频崇左网站建设
  • 网站空间便宜建设项目水资源论证网站
  • 网站多少个关键词网站建设运维自查问题清单
  • 自己怎样免费建网站适合小学生摘抄的新闻2022年
  • 做网站宁夏徐州建设工程审图中心网站
  • seo网站排名优化公司哪家好个人怎么建立微信公众号
  • 旅游网站开发的流程网站建设概
  • 莱芜市网站建设公司网站建设公司怎么拉单
  • 求助用cms做网站设计_以我的家乡家乡为主题wordpress 课程激活
  • 如何上传模板到网站页面有哪几个网站可以做
  • 网站做投票网站备案换接入商
  • 花生壳做网站行远金华网站建设公司
  • 网站开发工资多少稳定么重庆推广一个网站
  • 郑州高端建站公司免费php企业网站管理系统
  • 做外贸哪个网站要办信用卡的软件开发平台协议