C++ STL queue适配器入门 queue适配器,又被叫做”队列“,与deque双端队列不同,它禁止随机插入元素并且只能从队尾进队首出,和就像坐地铁排队一样,不允许插队行为且遵守先入先出规则。queue适配器的成员函数也比较简单,除了元素增删位置不同其他与stack适配器没有什么区别。push()、emplace()把元素放进队尾,pop()把队首元素删除,size()查看元素总数,empty()检查队列是否为空,swap()交 STL容器适配器 2025年10月17日 0 点赞 0 评论 231 浏览
C++ STL array容器如何访问元素? 我们已经认识STL库里的array容器了,在填充完元素后,最常见的操作就是查看array里的元素了。本节将会详细介绍多种访问array内元素的方式,让读者熟悉array容器内元素的访问方式!和普通数组一样,array也重载了'[]'运算符,我们可以通过'[]'访问array内的元素:#include<bits/stdc++.h>/*如何访问 STL序列式容器 2025年10月01日 0 点赞 0 评论 339 浏览
深入学习C++ STL map容器的成员函数emplace_hint() 前面我们简单提到过emplace_hint()这个插入函数,在能够巧用迭代器的情况下就能实现map高效插入元素。emplace_hint(hint,key,val)有3各参数,第一个是位置迭代器hint,第二个是key键值,第三个是val值。它的返回值为:如果成功插入返回插入元素对应的迭代器,否则返回hint。如何巧用迭代器?大多数情况下emplace_hint()都是进行批量元素插入。比如我要插 STL有序关联式容器 2025年10月08日 0 点赞 0 评论 255 浏览
C++ STL排列组合算法std::next_permutation()函数入门 前面一节我们学习了比较算法lexicographical_compare()函数,读者是否还记得它的功能是什么吗?没错,它能让我们的序列实现字典序比较行为。本节我们将学习排列组合算法——next_permutation()函数。“next”表示“下一个”,“permutation”表示“置换”,这里next_permutation()函数的功能将序列按照"字典顺序"重新排列成下 C++常用算法(二) 2025年10月25日 0 点赞 0 评论 277 浏览
C++ STL迭代器辅助函数distance()入门 本节我们将继续进行第二个迭代器函数distance(first , last)的学习。同样,在使用迭代器函数时,我们需要第一时间包含头文件<iterator>。“distance”,意为“距离”,它返回的是两个同类型迭代器的相对距离,其区间为[first , last)。该函数适用前向迭代器、随机迭代器、双向迭代器以及输入迭代器。下面,让我们通过代码的方式来学习distance(fir STL迭代器适配器 2025年10月20日 0 点赞 0 评论 230 浏览
C++ STL无序关联式容器简介 前面我们已经深入学习了有序关联式容器,本节将继续学习关联式容器的另外一个分支——无序关联式容器。从名字上我们就可以看出,无序关联式容器的特点是“无序”,那怎么个“无序“法?根据前面对关联式容器的学习读者不难猜出,此处”无序“意为——元素不会自动进行排序,而且杂乱地存放在一段空间内。无序关联式容器,又被称为"哈希容器",底层通过哈希表实现。可简单理解为:通过哈希函数把key映射为 STL无序关联式容器 2025年10月12日 0 点赞 0 评论 283 浏览
C++ STL deque容器入门 前面我们已经接触到array、vector容器,掌握里一定的基础。现在我们开始进行deque容器的学习。duque,double-ended queue,意思就是双端队列,该容器首尾都能够进行增删元素操作且其时间复杂度为O(1)。deque底层是中控区+缓冲区,可以理解为通过指针链接数组块。deque与vector极其相似,下面展示其所有成员函数:类别成员函数函数签名说明元素访问atreferen STL序列式容器 2025年10月04日 0 点赞 0 评论 293 浏览
C++STL之Priority_queue(优先队列) C++STL之Priority_queue(优先队列)1.简介优先队列是一种极其特殊的队列,他与标准的队列使用线性结构进行计算不同,优先队列的底层是以散列的状态(非线性)表现的,他与标准的队列有如下的区别,标准的队列遵从严格的先进先出,优先队列并不遵从标…… C++STL库教程(附带题库) 2022年01月04日 83 点赞 0 评论 140379 浏览
C++ STL移除算法std::remove()函数入门 前面一节我们学习了区间交换算法swap_ranges()函数,读者是否还记得它的功能是什么吗?没错,该函数能够高效地交换两个同类型且等长的区间。本节我们将学习一个新的算法——移除算法,顾名思义,移除算法指的是快速移动同目标元素相等的元素到非相等元素区间,注意“移除”并非删除,想要实现删除效果需要配合erase()函数才行。remove()函数就是一个重要的移除函数,”remove“的意思是”移除“ C++常用算法(二) 2025年10月27日 0 点赞 0 评论 252 浏览
C++ STL按条件查找算法std::find_if()函数入门 前面我们学过查找函数find(beg,end,val),本节我们将继续学习与其功能类似的函数——find_if()函数。find_if(beg , end ,pred),它的功能是在区间[beg , end)找到第一个满足pred条件的第一个元素,并返回指向该元素的迭代器;如果没有找到这个元素,则会返回end()。find_if(beg , end ,pred)中的"pred" C++常用算法(一) 2025年10月23日 0 点赞 0 评论 246 浏览