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

外汇跟单网站开发温江建设局网站

外汇跟单网站开发,温江建设局网站,少女のトゲ在线观看动漫,做ppt图片用的网站有哪些问题文章目录 关联式容器键值对一、set介绍二、set的使用multiset 关联式容器 STL中的部分容器#xff0c;比如#xff1a;vector、list、deque、forward_list(C11)等#xff0c;这些容器统称为序列式容器#xff0c;因为其底层为线性序列的数据结构#xff0c;里面存储的是元… 文章目录 关联式容器键值对一、set介绍二、set的使用multiset 关联式容器 STL中的部分容器比如vector、list、deque、forward_list(C11)等这些容器统称为序列式容器因为其底层为线性序列的数据结构里面存储的是元素本身。关联式容器也是用来存储数据的与序列式容器不同的是其里面存储的是key, value结构的键值对在数据检索时比序列式容器效率更高。 键值对 键值对用来表示具有一 一对应关系的一种结构该结构中一般只包含两个成员变量key和valuekey代表键值value表示与key对应的信息。 SGI-STL中关于键值对的定义 template class T1, class T2 struct pair {typedef T1 first_type;typedef T2 second_type;T1 first;T2 second;pair(): first(T1()), second(T2()){}pair(const T1 a, const T2 b): first(a), second(b){} };一、set介绍 set 是 C STL 中提供的容器set是数学上的集合其具有唯一性即每个元素只出现一次而 multiset 则是可重复集合两者的内部实现是一棵红黑树它们支持的函数基本相同。 set是按照一定次序存储元素的容器在set中元素的value标识它(value就是key类型为T)并且每个value必须是唯一的。set中的元素不能在容器中修改(元素总是const)但是可以从容器中插入或删除它们。在内部set中的元素总是按照其内部比较对象(类型比较)所指示的特定严格弱排序准则进行排序。set容器通过key访问单个元素的速度通常比unordered_set容器慢但它们允许根据顺序对子集进行直接迭代。set在底层是用红黑树实现的。 set的特点 与map/multimap不同map/multimap中存储的是真正的键值对key, valueset中只放value但在底层实际存放的是由value, value构成的键值对。 set中插入元素时只需要插入value即可不需要构造键值对。 set中的元素不可以重复因此可以使用set进行去重。 使用set的迭代器遍历set中的元素可以得到有序序列。 set中的元素默认按照lessT来比较。 set中查找某个元素时间复杂度为 O ( l o g 2 N ) O(log_2 N) O(log2​N) set中的元素不允许修改。 set中的底层使用 二叉搜索树(红黑树) 来实现。 二、set的使用 set的容量 函数名称功能说明bool empty ( ) const检测set是否为空空返回true否则返回falsesize_type size() const返回set中有效元素的个数 #include iostream #include set #include functional using namespace std;void test_set() {// 初始化调用 C11中 initializer_list 构造函数进行列表初始化setints {1,3,4,2,5,6,8,7};// 构造可以调用迭代器区间去初始化int a[] { 1,2,3,4,5,6,1,8 };setint, greaterint s1(a, a sizeof(a) / sizeof(int));// 默认是升序变为降序可以用反向迭代器或者使用仿函数// 迭代器遍历setint::iterator it s.begin();while (it ! s.end()){//*it 10; set 有着增删查的功能但是不支持改如果支持改底层的搜索二叉树就是乱序了cout *it ;it;}cout endl;// 范围for遍历for (auto e : s) {cout e ;}cout endl;// 迭代器遍历出来时有序的因为底层是个搜索二叉树搜索二叉树中的中序遍历是有序的// set有 排序去重 的作用for (auto e : s1){cout e ;}cout endl;// 内容删除s1.erase(3); for (auto e : s1) //有就删除没有也不报错{cout e ;}cout endl;// 迭代器删除setint::iterator pos s1.find(8); //如果没有找到8则返回s1.end()如果不加判断删除的时候会报错if (pos ! s1.end()){s1.erase(pos);}for (auto e : s1){cout e ;}cout endl;// count(),在就返回1不在就返回0为了保证接口的一致性才有countcount是为multiset设计的cout s1.count(4) endl;cout s1.count(30) endl;// lower_bound 返回 val的值// upper_bound 返回 val的值setint myset;setint::iterator itlow, itup;for (int i 1; i 10; i) myset.insert(i * 10); // 10 20 30 40 50 60 70 80 90itlow myset.lower_bound(35); // itup myset.upper_bound(60); // cout *itlow *itup endl; //40 70myset.erase(itlow, itup); // 10 20 30 70 80 90 } int main() {test_set();return 0; } multiset multiset是按照特定顺序存储元素的容器其中元素是可以重复的。在multiset中元素的value也会识别它(因为multiset中本身存储的就是value, value组成的键值对因此value本身就是keykey就是value类型为T)。multiset元素的值不能在容器中进行修改但可以从容器中插入或删除。在内部multiset中的元素总是按照其内部比较规则(类型比较)所指示的特定严格弱排序准则进行排序。multiset容器通过key访问单个元素的速度通常比unordered_multiset容器慢但当使用迭代器遍历时会得到一个有序序列。multiset底层结构为二叉搜索树(红黑树)。 void test_set1() {int a[] { 1,2,1,2,3,4,5 };multisetints(a, a sizeof(a) / sizeof(int)); //multiset允许键值的冗余其余的用法上完全没有区别// 特点 排序for (auto e : s){cout e ; // 1 1 2 2 3 4 5}cout endl;cout s.count(1)endl;//2 返回对应的个数auto pos s.find(2);// find时如果有多个值返回中序的第一个值while (pos ! s.end()){cout *pos ;//2 2 3 4 5pos;}cout endl;// 删除值删除删除所有的2迭代器删除删除迭代器的对应位置内容s.erase(2);for (auto e : s){ cout e ; // 1 1 3 4 5}cout endl; }int main() {test_set1();return 0; }
http://www.w-s-a.com/news/668991/

相关文章:

  • wordpress更换域名后网站打不开宜昌建设银行网站
  • 写出网站开发的基本流程百度网页电脑版入口
  • 网站设计有限公司怎么样网站建设西班牙语
  • 网站安全解决方案宁波seo网络推广优化价格
  • 做网站带来好处wordpress可以做oa系统吗
  • 建筑设计人才招聘网站h5营销型网站suteng
  • 做app和网站怎样如何做html网站
  • php开发手机端网站开发更换网站标题
  • 提供网站建设报价延津县建设局网站
  • 江苏网站建设流程土巴兔全包装修怎么样
  • 环保网站建设方案带漂浮广告的网站
  • 淘宝客合伙人网站建设建站前端模板
  • 网站单页模板怎么安装中世纪变装小说wordpress
  • 手机免费建设网站制作宝安第一网站
  • 如何做x响应式网站asp网站出现乱码
  • 网站备案的幕布是什么来的游戏推广代理
  • 固始城乡建设局的网站怎么打不开了上海建设网站
  • 关于加强网站信息建设的通知3d网站开发成本
  • 网站建设实训过程报告成品网站1688入口的功能介绍
  • 网站定制开发需要什么资质国外设计灵感网站
  • 搜搜网站收录广告设计与制作模板图片
  • 江苏省建设监理协会网站汕头网站建设方案优化
  • 中国风网站配色方案正规少儿编程排名
  • 兼职做网站的软件wordpress赞的代码
  • 销售网站的技巧四博互联做的网站
  • 网站建设 图片问题小程序免费制作平台凡科网页版
  • 猪八戒网做网站怎么样网站建设 客户同程
  • 西安网站建设那家强网站建设方案 报价
  • 销售网站建设考核指标网站建设价格组成
  • 网站302跳转网站建设完成后 下一步做什么