C++ STL填充算法std::fill()函数入门 前面一节我们学习了区间交换算法remove()函数等移除算法,读者是否还记得它们的功能分别是什么吗?没错,remove()函数能够移除与目标元素完全相等的元素,如果想要自定义比较规则可使用remove_if()函数,需要将与目标元素不等的元素复制到另外一个容器可以使用remove_copy()函数,如果既要定义比较规则又要复制不等元素那就使用remove_copy_if()函数。本节我们将学习一个 C++常用算法(二) 2025年10月27日 0 点赞 0 评论 185 浏览
C++STL之Queue容器 C++STL之Queue容器1.再谈队列回顾一下之前所学的队列,队列和栈不同,队列是一种先进先出的数据结构,STL的队列内容极其重要,虽然内容较少但是请务必掌握,STL的队列是快速构建搜索算法以及相关的数论图论的状态存储的基础。…… C++STL库教程(附带题库) 2022年03月14日 136 点赞 0 评论 115308 浏览
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 评论 165 浏览
C++ STL容器适配器简介 什么是容器适配器?首先我们需要知道,容器适配器并不属于STL容器,因为它是在已有容器的基础上进行自主设计的。就像笔记本的电源适配器,把220V的电压转化为12-20V不等的电压供笔记本使用;就像读者出国旅游,如果外语不算很流利通过翻译软件跟外国人聊天一样,翻译软件就充当这个适配器的功能。适配器简单来说就是把已有的东西添加一些功能或限制一些接口一样,实现满足需求的目的。在掌握STL容器的基础下,我们 STL容器适配器 2025年10月16日 0 点赞 0 评论 171 浏览
C++ STL谓词判断算法std::all_of()函数入门 本节我们开始谓词判断算法的学习。那什么是谓词判断算法呢?首先我们要知道什么是查询算法,它指的是一类只能进行查询而不能修改元素的算法,其中,谓词判断算法是查询算法的一个子集,它们的功能是判断一个区间是否满足一元谓词的要求,满足则返回true,不满足则返回false。比如我们有一个序列{1,2,3,5,7,9},该序列很多元素都是奇数,我们想要知道这个序列是不是完全奇数序列,此时我们使用all_of( C++常用算法(二) 2025年10月25日 0 点赞 0 评论 160 浏览
浅谈C++ STL的基本组成部分 通常认为,STL(标准模板库)的体系结构由六大核心组件构成:容器、算法、迭代器、函数对象、适配器和内存分配器。在这套体系中,迭代器、函数对象、适配器和内存分配器作为支撑性组件,共同为容器和算法这两个核心组件提供服务与协作支持。容器是STL的基础,它如同各种规格的“智能储物箱”。这些模板类(如顺序容器vector、list,关联容器map、set)封装了底层数据结构,负责数据的存储、组织和管理,为用 STL基础 2025年10月01日 1 点赞 0 评论 232 浏览
C++ STL multiset容器入门 通过前面对set容器的学习,我们已经完全掌握了set容器基本的增删查改操作,如果读者还不知道set容器可跳转《初识STL库中的set容器》。本节我们将会学习一个特殊的set容器——multiset,就像multimap对于map那样允许存在重复键值,multiset的特殊之处也在于允许存在重复键值。读者可以试想一下,如果set允许存在重复键值,那么影响最大的会是什么?没错,multimap会丧失“ STL有序关联式容器 2025年10月11日 0 点赞 0 评论 239 浏览
C++ STL旋转算法std::rotate()函数入门 前面一节我们学习了移除算法 unique() 函数,读者是否还记得它的功能是什么吗?没错,该函数能够移除序列中相邻的重复元素。本节我们将学习一个新的算法,旋转算法——rotate() 函数。"rotate" 意为"旋转",从名称就能看出,这个函数用于对序列进行循环移位操作,就像旋转一个圆盘一样。rotate() 函数的语法格式如下:template<& C++常用算法(二) 2025年10月26日 0 点赞 0 评论 190 浏览
C++ STL 合并算法std::merge()函数入门 本节我们进入合并算法merge()函数的学习。”merge“意思是”合并“,其函数功能是将两个有序同向排序的序列根据排序规则合并成第三个序列。它的形式是:merge(first1 , last1 , first2 , last2 , first3)。它指的是将[first1, last1)和[first2, last2)这两个区间的元素放到first3的后面,这里所有参数皆为迭代器。既然谈到有序, C++常用算法(一) 2025年10月22日 0 点赞 0 评论 201 浏览
C++ STL unordered_map容器如何删除元素? 学到这里,我们已经掌握unordered_map容器的基本知识了,增、改、查,但还没有学过删。本节将继续带领读者一起学习如何为unordered_map容器删除元素。erase()是删除unordered_map容器内元素的主要函数,这里通过代码简单介绍如何通过erase()删除元素:#include<iomanip>#include<iostream>#i STL无序关联式容器 2025年10月15日 0 点赞 0 评论 204 浏览