C++ STL序列查找算法std::find_first_of()函数入门 本节我们将继续进行序列查找的学习——find_first_of()函数。find_first_of(first1,last1,first2,last2)函数的功能是:用于在第一个序列中查找第二个序列中任意一个元素的第一次出现。它的函数模型是://基本形式template<classInputIt,classForwardIt&nb C++常用算法(一) 2025年10月23日 0 点赞 0 评论 668 浏览
C++ STL容器适配器简介 什么是容器适配器?首先我们需要知道,容器适配器并不属于STL容器,因为它是在已有容器的基础上进行自主设计的。就像笔记本的电源适配器,把220V的电压转化为12-20V不等的电压供笔记本使用;就像读者出国旅游,如果外语不算很流利通过翻译软件跟外国人聊天一样,翻译软件就充当这个适配器的功能。适配器简单来说就是把已有的东西添加一些功能或限制一些接口一样,实现满足需求的目的。在掌握STL容器的基础下,我们 STL容器适配器 2025年10月16日 0 点赞 0 评论 594 浏览
C++ STL map容器入门 前面我们学习了pair模板类——《初识模板类pair》是为了本节学习map作准备。map作为有序关联式容器,其通过pair模板的形式存储元素,并根据key值(指pair中的first)进行自动排序,排序默认是升序,但我们也可以通过仿函数实现降序排序,值得注意的是,map的键值具有唯一性,不允许出现重复键值。接下来我们通过代码来了解如何创建map容器:#include<bits/stdc++. STL有序关联式容器 2025年10月07日 0 点赞 0 评论 728 浏览
C++ STL容器有哪些常用成员函数和成员变量? 使用STL需要我们了解容器及其对应的成员函数和成员变量,不求全部背诵,但是要有个印象,方便文档查询和算法使用,下表罗列了算法竞赛中STL常用函数和变量:类别名称功能说明适用容器容量相关size()返回当前元素个数全部容器empty()判断容器是否为空全部容器max_size()返回容器可容纳的最大元素数全部容器capacity()返回当前分配的内存容量(仅vector/string)vector, STL序列式容器 2025年10月01日 1 点赞 0 评论 685 浏览
C++ STL填充算法std::fill()函数入门 前面一节我们学习了区间交换算法remove()函数等移除算法,读者是否还记得它们的功能分别是什么吗?没错,remove()函数能够移除与目标元素完全相等的元素,如果想要自定义比较规则可使用remove_if()函数,需要将与目标元素不等的元素复制到另外一个容器可以使用remove_copy()函数,如果既要定义比较规则又要复制不等元素那就使用remove_copy_if()函数。本节我们将学习一个 C++常用算法(二) 2025年10月27日 0 点赞 0 评论 663 浏览
C++ STL multiset容器入门 通过前面对set容器的学习,我们已经完全掌握了set容器基本的增删查改操作,如果读者还不知道set容器可跳转《初识STL库中的set容器》。本节我们将会学习一个特殊的set容器——multiset,就像multimap对于map那样允许存在重复键值,multiset的特殊之处也在于允许存在重复键值。读者可以试想一下,如果set允许存在重复键值,那么影响最大的会是什么?没错,multimap会丧失“ STL有序关联式容器 2025年10月11日 0 点赞 0 评论 734 浏览
C++STL之Priority_queue(优先队列) C++STL之Priority_queue(优先队列)1.简介优先队列是一种极其特殊的队列,他与标准的队列使用线性结构进行计算不同,优先队列的底层是以散列的状态(非线性)表现的,他与标准的队列有如下的区别,标准的队列遵从严格的先进先出,优先队列并不遵从标…… C++STL库教程(附带题库) 2022年01月04日 83 点赞 0 评论 140964 浏览
C++ STL vector容器性能优化小技巧 如果前面内容你都看了的话,那你基本掌握对vector的增删改查了。这一节我们主要谈论对vector性能优化的小技巧。众所周知,vector是动态数组,在长度不够时会自动扩展,其本质就是创建一个更大的数组,把原来的数组挪过去,然后清理原来的数据。根据这个特性,我们可以在使用vector前利用reserve()来给vector设置一个保守的大小,避免一直重复这个“动态扩展”的操作,从而提高性能。该技巧 STL序列式容器 2025年10月03日 3 点赞 0 评论 794 浏览
C++ STL谓词判断算法std::all_of()函数入门 本节我们开始谓词判断算法的学习。那什么是谓词判断算法呢?首先我们要知道什么是查询算法,它指的是一类只能进行查询而不能修改元素的算法,其中,谓词判断算法是查询算法的一个子集,它们的功能是判断一个区间是否满足一元谓词的要求,满足则返回true,不满足则返回false。比如我们有一个序列{1,2,3,5,7,9},该序列很多元素都是奇数,我们想要知道这个序列是不是完全奇数序列,此时我们使用all_of( C++常用算法(二) 2025年10月25日 0 点赞 0 评论 608 浏览
C++ STL旋转算法std::rotate()函数入门 前面一节我们学习了移除算法 unique() 函数,读者是否还记得它的功能是什么吗?没错,该函数能够移除序列中相邻的重复元素。本节我们将学习一个新的算法,旋转算法——rotate() 函数。"rotate" 意为"旋转",从名称就能看出,这个函数用于对序列进行循环移位操作,就像旋转一个圆盘一样。rotate() 函数的语法格式如下:template<& C++常用算法(二) 2025年10月26日 0 点赞 0 评论 756 浏览